services: redis: image: redis:8-alpine restart: unless-stopped expose: - "6379" volumes: - ./redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 3 django: build: . restart: unless-stopped expose: - "8000" env_file: - .env depends_on: redis: condition: service_healthy volumes: - .:/app command: ./entrypoint.sh healthcheck: test: ["CMD", "python", "manage.py", "check"] interval: 30s timeout: 10s retries: 3 huey: build: . env_file: - .env depends_on: redis: condition: service_healthy django: condition: service_healthy volumes: - .:/app command: python manage.py run_huey restart: unless-stopped nginx: image: nginx:alpine restart: unless-stopped ports: - "${NGINX_PORT:-8080}:80" env_file: - .env depends_on: django: condition: service_healthy volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro healthcheck: test: ["CMD", "nginx", "-t"] interval: 30s timeout: 10s retries: 3