drone/compose.yml

57 lines
1.3 KiB
YAML

---
version: "3.8"
services:
app:
image: "drone/drone:1.9.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=username:admin,admin:true
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.routers.drone.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.drone.entrypoints=web-secure"
- "traefik.http.services.drone.loadbalancer.server.port=${PORT:-8042}"
- "traefik.http.routers.drone.tls.certresolver=${LETS_ENCRYPT_ENV}"
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