Files
ailine/docker/docker-compose.yml
root 598f40ef74
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m57s
fix: 修复 docker-compose.yml 中 PostgreSQL 配置问题
问题:
- docker-compose.yml 中 DB_HOST 被硬编码为 'ai-postgres',导致无法连接到远程 PostgreSQL 服务器
- 其他数据库配置也被硬编码,没有使用 .env 文件中的配置

修复:
- 将所有 PostgreSQL 配置改为从 .env 文件读取
- 添加 DB_URI 环境变量传递
2026-05-01 00:55:41 +08:00

104 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=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_NAME=${DB_NAME}
- DB_URI=${DB_URI}
# =========================================================================
# 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
# volumes:
# - ../frontend/src:/app/src # 挂载源代码目录,修改立即生效
ports:
- "8501:8501"
networks:
- ai-network
depends_on:
- backend
restart: unless-stopped
networks:
ai-network:
driver: bridge