Files
xk-ai-agent/manifest/docker/docker-compose.yml
2026-08-14 21:50:48 +08:00

69 lines
1.6 KiB
YAML

version: "3.9"
services:
# ========== MaxKB 知识库平台 ==========
maxkb:
image: 1panel/maxkb:latest
container_name: maxkb
ports:
- "8080:8080"
volumes:
- maxkb_data:/app/data
environment:
- MAXKB_PORT=8080
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"]
interval: 30s
timeout: 5s
retries: 3
# ========== MySQL 数据库 ==========
mysql:
image: mysql:8.0
container_name: tcm-mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: tcm123456
MYSQL_DATABASE: tcm_agent
MYSQL_CHARSET: utf8mb4
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
# ========== 向量数据库(可选,用于长期记忆) ==========
milvus:
image: milvusdb/milvus:latest
container_name: tcm-milvus
ports:
- "19530:19530"
volumes:
- milvus_data:/var/lib/milvus
restart: unless-stopped
# ========== Go Agent 服务 ==========
agent:
build:
context: ../..
dockerfile: manifest/docker/Dockerfile
container_name: tcm-agent
ports:
- "9000:8080"
environment:
- SERVER_PORT=8080
- MAXKB_API_KEY=${MAXKB_API_KEY:-your-key-here}
- LLM_API_KEY=${LLM_API_KEY:-your-key-here}
- DB_DSN=root:tcm123456@tcp(mysql:3306)/tcm_agent?charset=utf8mb4
depends_on:
maxkb:
condition: service_healthy
mysql:
condition: service_started
restart: unless-stopped
volumes:
maxkb_data:
mysql_data:
milvus_data: