Files
ailine/docker/docker-compose.yml
root d8da45bc97
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
fix: 修复前后端启动问题,添加 BACKEND_PORT 配置
2026-04-22 01:34:34 +08:00

101 lines
4.4 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.

services:
backend:
build:
context: .. # 构建上下文为项目根目录
dockerfile: docker/backend/Dockerfile
container_name: ai-backend
environment:
# =========================================================================
# ⭐ 敏感密钥配置 - 必须配置(本地:.env 文件 | CI/CDSecrets
# =========================================================================
- ZHIPUAI_API_KEY=${ZHIPUAI_API_KEY:?请配置 ZHIPUAI_API_KEY本地.env 文件 | CI/CDSecrets} # ⭐ 敏感密钥配置
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:?请配置 DEEPSEEK_API_KEY本地.env 文件 | CI/CDSecrets} # ⭐ 敏感密钥配置
- LLAMACPP_API_KEY=${LLAMACPP_API_KEY:?请配置 LLAMACPP_API_KEY本地.env 文件 | CI/CDSecrets} # ⭐ 敏感密钥配置
# =========================================================================
# PostgreSQL 数据库配置
# =========================================================================
- DB_HOST=115.190.121.151
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=${DB_PASSWORD:?请配置 DB_PASSWORD本地.env 文件 | CI/CDSecrets} # ⭐ 敏感密钥配置
- DB_NAME=langgraph_db
# =========================================================================
# Qdrant 向量数据库配置URL + API密钥 配对)
# =========================================================================
- QDRANT_URL=http://115.190.121.151:6333
- QDRANT_API_KEY=${QDRANT_API_KEY:?请配置 QDRANT_API_KEY本地.env 文件 | CI/CDSecrets} # ⭐ 敏感密钥配置
- QDRANT_COLLECTION_NAME=mem0_user_memories
# =========================================================================
# llama.cpp 服务配置URL + API密钥 配对)
# =========================================================================
# 主 LLM 服务 (Gemma-4-E2B GGUF) - Docker host 端口 18000
- VLLM_BASE_URL=http://host.docker.internal:18000/v1
# Embedding 服务 (Qwen3-Embedding-0.6B GGUF) - Docker host 端口 18001
- LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1
# Reranker 服务 (bge-reranker-v2-m3) - Docker host 端口 18002
- LLAMACPP_RERANKER_URL=http://host.docker.internal:18002/v1
# =========================================================================
# RAG 索引构建配置(非敏感)
# =========================================================================
- RAG_COLLECTION_NAME=rag_documents
- RAG_CHUNK_SIZE=500
- RAG_CHUNK_OVERLAP=50
- RAG_PARENT_CHUNK_SIZE=1000
- RAG_CHILD_CHUNK_SIZE=200
- RAG_PARENT_CHUNK_OVERLAP=100
- RAG_CHILD_CHUNK_OVERLAP=20
- RAG_STRATEGY=parent-child
- RAG_STORAGE_TYPE=postgres
# =========================================================================
# 日志调试配置(可通过 .env 覆盖)
# =========================================================================
- LOG_LEVEL=${LOG_LEVEL:-WARNING}
- DEBUG=${DEBUG:-false}
- ENABLE_GRAPH_TRACE=${ENABLE_GRAPH_TRACE:-false}
# =========================================================================
# 应用行为配置
# =========================================================================
- BACKEND_PORT=8079
- MEMORY_SUMMARIZE_INTERVAL=${MEMORY_SUMMARIZE_INTERVAL:-10}
# =========================================================================
# 前端通信地址Docker 内部网络)
# =========================================================================
- API_URL=http://backend:8079/chat
volumes:
- ../data/user_docs:/app/data/user_docs # 挂载文档目录
- ../logs:/app/logs
networks:
- ai-network
# ⭐ 移除对 postgres 和 qdrant 的依赖(使用远程服务)
restart: unless-stopped
ports:
- "8079:8079"
frontend:
build:
context: ..
dockerfile: docker/frontend/Dockerfile
container_name: ai-frontend
environment:
# Docker 内部网络使用服务名 'backend' 解析后端服务
- API_URL=http://backend:8079/chat
ports:
- "8501:8501"
networks:
- ai-network
depends_on:
- backend
restart: unless-stopped
networks:
ai-network:
driver: bridge