Files
MyAiDesk/GovAI/docker/docker-compose.yml
T
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

88 lines
2.3 KiB
YAML

# GovAI - 开发环境基础设施
# 使用方式: docker compose -f docker/docker-compose.yml up -d
services:
postgres:
image: pgvector/pgvector:pg17
container_name: govai-postgres
restart: unless-stopped
ports:
- "5432:5432"
environment:
POSTGRES_USER: ${POSTGRES_USER:-govai}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-govai}
POSTGRES_DB: ${POSTGRES_DB:-govai_portal}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U govai"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: govai-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redisdata:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
minio:
image: minio/minio
container_name: govai-minio
restart: unless-stopped
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
volumes:
- miniodata:/data
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
ppt-worker:
build:
context: ../ppt-worker
dockerfile: Dockerfile
container_name: govai-ppt-worker
restart: unless-stopped
ports:
- "8090:8090"
environment:
WORKER_HOST: 0.0.0.0
WORKER_PORT: 8090
DATABASE_URL: postgres://${POSTGRES_USER:-govai}:${POSTGRES_PASSWORD:-govai}@postgres:5432/${POSTGRES_DB:-govai_portal}?sslmode=disable
REDIS_URL: redis://redis:6379/0
PPT_MASTER_PATH: /opt/ppt-master
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
OPENAI_MODEL: ${OPENAI_MODEL:-qwen-max}
IMAGE_BACKEND: ${IMAGE_BACKEND:-wanx}
WANX_MODEL: ${WANX_MODEL:-wanx-v1}
volumes:
- ppt-projects:/tmp/govai
- ../../ppt-master:/opt/ppt-master:ro
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
volumes:
pgdata:
redisdata:
miniodata:
ppt-projects: