Files
aiagent/docker-compose.dev.yml
renjianbo beff3fac8d fix: delete agent 500 error + dynamic personality + deployment guide
- Fix delete agent 500: clean up FK records (agent_llm_logs, permissions,
  schedules, executions, team_members) and unbind goals/tasks before delete
- Remove hardcoded personality templates in Android, replace with dynamic
  system prompt generation from name + description
- Set promptSectionsEnabled=false to bypass PromptComposer for personality
- Add Tencent Cloud Linux deployment guide (Docker Compose)
- Accumulated backend service updates, frontend UI fixes, Android app changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-29 01:17:21 +08:00

133 lines
4.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: "3.8"
# 天工智能体平台 — 本地开发环境
# 启动: docker compose -f docker-compose.dev.yml up -d
# 仅启动中间件MySQL + Redis应用层使用本地 npm run dev / uvicorn
services:
mysql:
image: mysql:8.0
container_name: aiagent-dev-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: dev123
MYSQL_DATABASE: agent_db_dev
MYSQL_CHARSET: utf8mb4
MYSQL_COLLATION: utf8mb4_unicode_ci
ports:
- "3306:3306"
volumes:
- dev_mysql_data:/var/lib/mysql
- ./backend/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: aiagent-dev-redis
restart: unless-stopped
command: redis-server --appendonly yes --maxmemory 128mb --maxmemory-policy allkeys-lru
ports:
- "6379:6379"
volumes:
- dev_redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
# ─── 本地 Prometheus 监控 ────────────────────────────────────────
prometheus:
image: prom/prometheus:v2.53.0
container_name: aiagent-dev-prometheus
restart: unless-stopped
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=15d'
- '--web.enable-lifecycle'
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
- ./prometheus-alert-rules.yml:/etc/prometheus/alert_rules.yml:ro
- dev_prometheus_data:/prometheus
extra_hosts:
- "host.docker.internal:host-gateway"
# ─── 本地 Grafana 可视化 ─────────────────────────────────────────
grafana:
image: grafana/grafana:11.0.0
container_name: aiagent-dev-grafana
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin123
- GF_USERS_ALLOW_SIGN_UP=false
ports:
- "3000:3000"
volumes:
- ./grafana/datasources:/etc/grafana/provisioning/datasources:ro
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards:ro
- ./grafana/dashboards/tiangong-overview.json:/var/lib/grafana/dashboards/tiangong-overview.json:ro
- dev_grafana_data:/var/lib/grafana
# ─── ELK 日志聚合 ─────────────────────────────────────────────────
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0
container_name: aiagent-dev-elasticsearch
restart: unless-stopped
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms256m -Xmx512m
- xpack.security.enabled=false
ports:
- "9200:9200"
volumes:
- dev_es_data:/usr/share/elasticsearch/data
healthcheck:
test: ["CMD-SHELL", "curl -s http://localhost:9200/_cluster/health | grep -q 'green\|yellow'"]
interval: 15s
timeout: 10s
retries: 10
kibana:
image: docker.elastic.co/kibana/kibana:8.15.0
container_name: aiagent-dev-kibana
restart: unless-stopped
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
elasticsearch:
condition: service_healthy
filebeat:
image: docker.elastic.co/beats/filebeat:8.15.0
container_name: aiagent-dev-filebeat
restart: unless-stopped
volumes:
- ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- ./backend/logs:/app/logs:ro
depends_on:
- elasticsearch
volumes:
dev_mysql_data:
driver: local
dev_redis_data:
driver: local
dev_prometheus_data:
driver: local
dev_grafana_data:
driver: local
dev_es_data:
driver: local
dev_logs:
driver: local