Files
ailine/docker/docker-compose.yml
root ebbd73ddf0
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 1m17s
```
docs(quickstart): 更新快速开始文档以支持Nginx反向代理配置

- 修改环境变量配置方式,从直接创建.env文件改为复制模板文件
- 添加必需和可选配置项的详细说明
- 更新Docker Compose启动命令以使用正确的路径
- 增加Nginx反向代理访问方式的说明
- 为本地开发模式添加额外的数据库配置说明

fix(readme): 修正部署说明中的环境变量配置方法

- 将硬编码的环境变量配置改为使用模板文件复制方式
- 更新Docker Compose启动命令路径
- 补充Nginx反向代理访问说明
- 修正数据库配置注意事项

feat(backend): 支持从环境变量读取数据库连接配置

- 添加os模块导入
- 修改DB_URI配置逻辑,优先从环境变量读取
- 适配Docker和本地开发环境的不同数据库连接地址

refactor(docker): 优化Docker Compose配置支持Nginx代理

- 限制后端端口仅本机访问
- 修改前端API URL为相对路径,通过Nginx代理访问
- 限制前端端口仅本机访问

refactor(frontend): 适配Nginx反向代理后端API调用

- 将硬编码的后端API地址改为相对路径
- 支持通过Nginx代理转发请求到后端服务

chore(scripts): 更新启动脚本中的访问地址提示信息

- 修改前端启动成功后的访问地址提示
- 添加Nginx代理访问方式的说明
```
2026-04-14 01:44:55 +08:00

64 lines
1.6 KiB
YAML

services:
postgres:
image: postgres:16
container_name: ai-postgres
environment:
POSTGRES_PASSWORD: mysecretpassword # 请替换为强密码
POSTGRES_DB: langgraph_db
volumes:
- pg_data:/var/lib/postgresql/data
networks:
- ai-network
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
# 如需外部访问数据库,取消下面注释
# ports:
# - "5432:5432"
backend:
build:
context: .. # 构建上下文为项目根目录
dockerfile: docker/Dockerfile.backend
container_name: ai-backend
environment:
- ZHIPUAI_API_KEY=${ZHIPUAI_API_KEY}
- VLLM_LOCAL_KEY=${VLLM_LOCAL_KEY}
- DB_URI=postgresql://postgres:mysecretpassword@postgres:5432/langgraph_db?sslmode=disable
volumes:
- ../data/user_docs:/app/data/user_docs # 挂载文档目录
- ../logs:/app/logs
networks:
- ai-network
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
ports:
- "127.0.0.1:8001:8001" # 仅本机访问,供 Nginx 反向代理使用
frontend:
build:
context: ..
dockerfile: docker/Dockerfile.frontend
container_name: ai-frontend
environment:
- API_URL=/api/chat # 通过 Nginx 反向代理访问后端
ports:
- "127.0.0.1:8501:8501" # 仅本机访问,供 Nginx 反向代理使用
networks:
- ai-network
depends_on:
- backend
restart: unless-stopped
networks:
ai-network:
driver: bridge
volumes:
pg_data: