fischer-agentkit/docker-compose.yaml

72 lines
2.0 KiB
YAML
Raw Permalink 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.

version: "3.8"
# =============================================================================
# 生产部署配置
# =============================================================================
# 启动docker compose up -d
# agentkit 容器内通过 service name (redis/postgres) 连接,不暴露中间件端口
# =============================================================================
services:
agentkit:
build: .
command: serve --host 0.0.0.0 --port 8001
ports:
- "8001:8001"
env_file: .env
environment:
# 容器间通信:使用 service name不依赖宿主机端口
- REDIS_URL=redis://redis:6379/0
- DATABASE_URL=postgresql+asyncpg://agentkit:agentkit@postgres:5432/agentkit
- AGENTKIT_BUS_BACKEND=redis
- AGENTKIT_SESSION_BACKEND=redis
- AGENTKIT_TASK_STORE_BACKEND=redis
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8001/api/v1/health')"]
interval: 30s
timeout: 10s
start_period: 30s
retries: 3
restart: unless-stopped
redis:
image: redis:7-alpine
# 生产模式不暴露端口到宿主机,仅容器间可达
expose:
- "6379"
volumes:
- redisdata:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
postgres:
image: pgvector/pgvector:pg15
# 生产模式不暴露端口到宿主机,仅容器间可达
expose:
- "5432"
environment:
POSTGRES_USER: agentkit
POSTGRES_PASSWORD: agentkit
POSTGRES_DB: agentkit
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U agentkit"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
redisdata:
pgdata: