version: "3.8" services: backend-api: image: backend-api:latest extra_hosts: - "host.docker.internal:host-gateway" pull_policy: never env_file: - .env build: context: backend dockerfile: Dockerfile.dev cache_from: - backend-api:latest args: - DEV_MODE=true container_name: backend-api volumes: - ./backend/:/app/ command: > /bin/bash -c "python -m uvicorn quivr_api.main:app --host 0.0.0.0 --log-level info --reload --port 5050" restart: always ports: - 5050:5050 - 5678:5678 # debug port notifier: pull_policy: never image: backend-api:latest extra_hosts: - "host.docker.internal:host-gateway" env_file: - .env container_name: notifier volumes: - ./backend/:/app/ command: > /bin/bash -c "python /app/worker/quivr_worker/celery_monitor.py" restart: always depends_on: - redis - worker worker: pull_policy: never image: backend-api:latest extra_hosts: - "host.docker.internal:host-gateway" env_file: - .env container_name: worker volumes: - ./backend/:/app/ command: > /bin/bash -c "python -m celery -A quivr_worker.celery_worker worker -l info -E -P solo" restart: always depends_on: - redis redis: image: redis:latest container_name: redis extra_hosts: - "host.docker.internal:host-gateway" restart: always ports: - 6379:6379 beat: image: backend-api:latest pull_policy: never extra_hosts: - "host.docker.internal:host-gateway" env_file: - .env container_name: beat command: > /bin/bash -c "python -m celery -A quivr_worker.celery_worker beat -l info" volumes: - ./backend/:/app/ restart: always depends_on: - redis flower: image: backend-api:latest pull_policy: never extra_hosts: - "host.docker.internal:host-gateway" env_file: - .env container_name: flower command: > /bin/bash -c "python -m celery -A quivr_worker.celery_worker flower -l info --port=5555" volumes: - ./backend/:/app/ restart: always depends_on: - redis - worker - beat ports: - 5555:5555