x-common: &common image: badbl0cks/pkmntrade-club:${IMAGE_TAG:-stable} #image: ghcr.io/xe/x/httpdebug #entrypoint: ["/ko-app/httpdebug", "--bind", ":8000"] restart: always env_file: - .env services: web: <<: *common environment: - DEBUG=False - DISABLE_SIGNUPS=True - PUBLIC_HOST=${DOMAIN_NAME} - ALLOWED_HOSTS=${DOMAIN_NAME},127.0.0.1 - DEPLOYMENT_COLOR=${DEPLOYMENT_COLOR:-blue} labels: - "enable_gatekeeper=true" - "deployment.color=${DEPLOYMENT_COLOR:-blue}" - "deployment.image_tag=${IMAGE_TAG:-stable}" deploy: mode: replicated replicas: ${REPLICA_COUNT} healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8000/health/"] interval: 5s timeout: 3s retries: 2 start_period: 60s stop_grace_period: 200s # 20s buffer + 180s workers-kill-timeout celery: <<: *common environment: - DEBUG=False - DISABLE_SIGNUPS=True - PUBLIC_HOST=pkmntrade.club - ALLOWED_HOSTS=pkmntrade.club,127.0.0.1 - DEPLOYMENT_COLOR=${DEPLOYMENT_COLOR:-blue} labels: - "deployment.color=${DEPLOYMENT_COLOR:-blue}" - "deployment.image_tag=${IMAGE_TAG:-stable}" command: ["celery", "-A", "pkmntrade_club.django_project", "worker", "-l", "INFO", "-B", "-E"] stop_grace_period: 200s # match our longest stop_grace_period (currently web service is 200s) networks: default: name: pkmntrade-club_network external: true