version: '3.8' services: postgres: image: postgres:15 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: bttoxin ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" minio: image: minio/minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin ports: - "9000:9000" - "9001:9001" volumes: - minio_data:/data backend: build: context: .. dockerfile: docker/worker/Dockerfile command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ports: - "8000:8000" volumes: - ../backend:/app - /var/run/docker.sock:/var/run/docker.sock environment: DATABASE_URL: postgresql://postgres:password@postgres:5432/bttoxin REDIS_URL: redis://redis:6379/0 depends_on: - postgres - redis celery: build: context: .. dockerfile: docker/worker/Dockerfile command: celery -A app.core.celery_app worker --loglevel=info volumes: - ../backend:/app - /var/run/docker.sock:/var/run/docker.sock environment: DATABASE_URL: postgresql://postgres:password@postgres:5432/bttoxin REDIS_URL: redis://redis:6379/0 depends_on: - postgres - redis frontend: build: context: .. dockerfile: docker/frontend/Dockerfile ports: - "3000:80" depends_on: - backend volumes: postgres_data: minio_data: