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 entrypoint: ["/entrypoint.sh"] command: ["python", "manage.py", "runserver", "0.0.0.0:8000"] env_file: - path: ../.env.example required: true - path: ../.env required: false ports: - "8000:8000" depends_on: - postgres - redis volumes: - ../backend:/app worker: build: context: .. dockerfile: infra/backend.Dockerfile command: celery -A config.celery worker -l info env_file: - path: ../.env.example required: true - path: ../.env required: false depends_on: - backend - redis volumes: - ../backend:/app beat: build: context: .. dockerfile: infra/backend.Dockerfile command: celery -A config.celery beat -l info env_file: - path: ../.env.example required: true - path: ../.env required: false depends_on: - backend - redis volumes: - ../backend:/app frontend: build: context: .. dockerfile: infra/frontend.Dockerfile env_file: - path: ../.env.example required: true - path: ../.env required: false ports: - "5173:5173" volumes: - ../frontend:/app - frontend-node-modules:/app/node_modules volumes: postgres-data: minio-data: frontend-node-modules: