Files
ai-ticket-platform/infra/docker-compose.yml
2026-06-30 17:46:38 +08:00

73 lines
1.5 KiB
YAML

services:
postgres:
image: pgvector/pgvector:pg16
environment:
POSTGRES_DB: ${POSTGRES_DB:-ai_ticket_platform}
POSTGRES_USER: ${POSTGRES_USER:-ai_ticket}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ai_ticket}
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
ports:
- "6379:6379"
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minio123}
ports:
- "9000:9000"
- "9001:9001"
volumes:
- minio-data:/data
backend:
build:
context: ..
dockerfile: infra/backend.Dockerfile
env_file:
- path: ../.env
required: false
ports:
- "8000:8000"
depends_on:
- postgres
- redis
volumes:
- ../backend:/app
worker:
build:
context: ..
dockerfile: infra/backend.Dockerfile
env_file:
- path: ../.env
required: false
command: celery -A config.celery worker -l info
depends_on:
- backend
- redis
volumes:
- ../backend:/app
frontend:
build:
context: ..
dockerfile: infra/frontend.Dockerfile
ports:
- "5173:5173"
volumes:
- ../frontend:/app
- frontend-node-modules:/app/node_modules
volumes:
postgres-data:
minio-data:
frontend-node-modules: