version: "3" services: web: hostname: web build: context: . dockerfile: Dockerfile container_name: web command: uvicorn app:app --host 0.0.0.0 --port 8000 volumes: - ./app:/app ports: - "8000:8000" env_file: - .env restart: always depends_on: - db db: hostname: db image: postgres:15 container_name: database volumes: - ./data/db:/var/lib/postgresql/data ports: - "5432:5432" env_file: - .env redis: image: redis:latest ports: - "6379:6379" celery_worker: container_name: "celery_worker" build: context: . dockerfile: Dockerfile command: celery -A tasks.celery_worker worker --pool=solo --loglevel=info volumes: - ./app:/app depends_on: - redis - web restart: always env_file: - .env celery_beat: container_name: "celery_beat" build: context: . dockerfile: Dockerfile command: celery -A tasks.celery_worker beat --loglevel=info volumes: - ./app:/app depends_on: - redis - web restart: always env_file: - .env