services: caddy: image: caddy:2.7.5-alpine@sha256:8ac16890d3992c98a1980cd87e3eeaa7fff9c3268cc611af0b1637d31c03736f restart: unless-stopped ports: - "80:80" - "443:443/udp" - "443:443/tcp" - "127.0.0.1:2019:2019" command: caddy reverse-proxy --from ${SERVER_HOST:?} --to http://drone volumes: - caddy_data:/data - caddy_config:/config drone: image: drone/drone:2.20.0@sha256:3f59c8a24c7a1a9b30a6dc81a918beaaced885cddf7d0fad080667933402a82d restart: unless-stopped environment: DRONE_CRON_INTERVAL: 1m DRONE_GITEA_SERVER: ${DRONE_GITEA_SERVER:?} DRONE_GITEA_CLIENT_ID: ${DRONE_GITEA_CLIENT_ID:?} DRONE_GITEA_CLIENT_SECRET: ${DRONE_GITEA_CLIENT_SECRET:?} DRONE_RPC_SECRET: ${DRONE_RPC_SECRET:?} DRONE_SERVER_HOST: ${DRONE_SERVER_HOST:?} DRONE_SERVER_PROTO: ${DRONE_SERVER_PROTO:?} DRONE_USER_CREATE: ${DRONE_USER_CREATE:?} volumes: - drone_data_v2:/data runner: image: drone/drone-runner-docker:1.8.3@sha256:513891eb6c8b920c48266f6881402b9df5e3f7ec874a12cd87146ebfd1105bed restart: unless-stopped ports: - "127.0.0.1:3000:3000" environment: DRONE_RUNNER_NAME: default DRONE_RPC_PROTO: http DRONE_RPC_HOST: drone DRONE_RPC_SECRET: ${DRONE_RPC_SECRET:?} volumes: - /var/run/docker.sock:/var/run/docker.sock system-runner: image: drone/drone-runner-docker:1.8.3@sha256:513891eb6c8b920c48266f6881402b9df5e3f7ec874a12cd87146ebfd1105bed restart: unless-stopped ports: - "127.0.0.1:5000:3000" environment: DRONE_RUNNER_NAME: system-runner DRONE_RUNNER_LABELS: instance:system DRONE_RPC_PROTO: http DRONE_RPC_HOST: drone DRONE_RPC_SECRET: ${DRONE_RPC_SECRET:?} volumes: - /var/run/docker.sock:/var/run/docker.sock volumes: caddy_data: caddy_config: drone_data_v2: