version: "3.9" services: drone-server: image: esinio/drone:v2.5.0 env_file: - ./.env environment: - "TZ=Asia/Shanghai" - "DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}" - "DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}" - "DRONE_GITEA_SERVER=${DRONE_GITEA_SERVER}" - "DRONE_RPC_SECRET=${DRONE_RPC_SECRET}" - "DRONE_SERVER_HOST=${DRONE_SERVER_HOST}" - "DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO}" - "DRONE_DATABASE_DRIVER=${DRONE_DATABASE_DRIVER}" - "DRONE_DATABASE_DATASOURCE=${DRONE_DATABASE_DATASOURCE}" - "DRONE_DATABASE_SECRET=${DRONE_DATABASE_SECRET}" - "DRONE_USER_CREATE=${DRONE_USER_CREATE}" - "DRONE_USER_FILTER=${DRONE_USER_FILTER}" - "DRONE_LOGS_DEBUG=${DRONE_LOGS_DEBUG}" volumes: - "./data:/data" labels: - "traefik.enable=true" - "traefik.http.routers.dronesrv.rule=Host(`${DRONE_SERVER_HOST}`)" - "traefik.http.routers.dronesrv.entrypoints=websecure" - "traefik.http.routers.dronesrv.tls=true" - "traefik.http.routers.dronesrv.middlewares=dronesrv-mw" - "traefik.http.middlewares.dronesrv-mw.compress=true" - "traefik.http.middlewares.dronesrv-mw.compress.excludedcontenttypes=text/event-stream" - "traefik.http.services.dronesrv.loadbalancer.server.port=80" external_links: - postgresql networks: - traefik drone-runner-docker: image: drone/drone-runner-docker:1 environment: - "DRONE_RPC_HOST=${DRONE_SERVER_HOST}" - "DRONE_RPC_PROTO=${DRONE_SERVER_PROTO}" - "DRONE_RPC_SECRET=${DRONE_RPC_SECRET}" - "DRONE_RUNNER_CAPACITY=${DRONE_RUNNER_CAPACITY}" - "DRONE_RUNNER_NAME=${DRONE_RUNNER_DOCKER_NAME}}" volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - traefik networks: traefik: external: true