version: "3.8" services: app: image: "drone/drone:1.10.1" volumes: - "data:/data" configs: - source: drone_env target: .env environment: - DRONE_GIT_ALWAYS_AUTH=true - DRONE_JSONNET_ENABLED=true - DRONE_SERVER_HOST=${DOMAIN} - DRONE_SERVER_PORT=:${PORT:-8042} - DRONE_SERVER_PROTO=https - DRONE_USER_CREATE=${DRONE_USER_CREATE} networks: - proxy secrets: - rpc_secret healthcheck: test: ["CMD", "wget", "-qO", "-", "http://localhost:8042/healthz"] interval: 10s timeout: 10s retries: 10 start_period: 10s deploy: update_config: failure_action: rollback order: start-first labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=${PORT:-8042}" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" - coop-cloud.${STACK_NAME}.app.version=1.10.1-9f95ae97 volumes: data: configs: drone_env: name: ${STACK_NAME}_drone_env_${DRONE_ENV_VERSION} file: drone.env.tmpl template_driver: golang secrets: rpc_secret: name: ${STACK_NAME}_rpc_secret_${RPC_SECRET_VERSION} external: true networks: proxy: external: true