- Dockerfile 全部改为 npm install + 全局 tsc,解决 pnpm 符号链接问题 - docker-compose 添加 Redis 服务、OAuth 环境变量透传、web 端口改为可配置 - MCP URL 改用 window.location.origin 适配反向代理 - tsconfig 添加 paths 映射解决 Docker 内模块引用 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
84 lines
2.1 KiB
YAML
84 lines
2.1 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: agentfox
|
|
POSTGRES_PASSWORD: agentfox
|
|
POSTGRES_DB: agentfox
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U agentfox"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redisdata:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
server:
|
|
build:
|
|
context: .
|
|
dockerfile: packages/server/Dockerfile
|
|
environment:
|
|
DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox
|
|
REDIS_URL: redis://redis:6379
|
|
JWT_SECRET: ${JWT_SECRET:-change-me-in-production}
|
|
JWT_REFRESH_SECRET: ${JWT_REFRESH_SECRET:-change-me-refresh-in-production}
|
|
API_KEY_ENCRYPTION_SECRET: ${API_KEY_ENCRYPTION_SECRET:-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef}
|
|
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-}
|
|
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-}
|
|
GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID:-}
|
|
GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET:-}
|
|
OAUTH_CALLBACK_BASE_URL: ${OAUTH_CALLBACK_BASE_URL:-}
|
|
FRONTEND_URL: ${FRONTEND_URL:-}
|
|
SERVER_PORT: "3000"
|
|
ports:
|
|
- "3000:3000"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
|
|
mcp:
|
|
build:
|
|
context: .
|
|
dockerfile: packages/mcp/Dockerfile
|
|
environment:
|
|
DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox
|
|
REDIS_URL: redis://redis:6379
|
|
MCP_PORT: "3001"
|
|
ports:
|
|
- "3001:3001"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: packages/web/Dockerfile
|
|
ports:
|
|
- "${WEB_PORT:-8088}:80"
|
|
depends_on:
|
|
- server
|
|
- mcp
|
|
|
|
volumes:
|
|
pgdata:
|
|
redisdata:
|