services: caddy: image: caddy:2.7.2-alpine@sha256:f6e2206a5dfd9b44a8c144fe8b6e6cb406bee117c15aae6f573b3bf83a3594af 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.18.0@sha256:570d97ea09a9eb3f302a0080124e4fe12b3acfdd0633e20a3b58f9f47b1b4837 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: