version: "3.8" services: drone: image: drone/drone:2 container_name: drone labels: - "traefik.http.services.drone.loadbalancer.server.port=80" - "traefik.enable=true" - "traefik.http.routers.drone.rule=Host(`drone.${DOMAIN_ROOT}`)" - 'traefik.http.routers.drone.middlewares=authelia@docker' environment: - DRONE_GITEA_SERVER=https://gitea.${DOMAIN_ROOT} - DRONE_GITEA_CLIENT_ID=${GITEA_CLIENT_ID} - DRONE_GITEA_CLIENT_SECRET=${GITEA_CLIENT_SECRET} - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=drone.${DOMAIN_ROOT} - DRONE_SERVER_PROTO=https - DRONE_USER_CREATE=username:${DRONE_USER},admin:true - DOMAIN_ROOT=${DOMAIN_ROOT} - HOST_IP=${HOST_IP} volumes: - drone_data:/data - /var/run/docker.sock:/var/run/docker.sock extra_hosts: - gitea.${DOMAIN_ROOT}:${HOST_IP} - nuc.${DOMAIN_ROOT}:${HOST_IP} - gitea-ssh.${DOMAIN_ROOT}:${HOST_IP} networks: - default - web runner: image: drone/drone-runner-docker:1 environment: - DRONE_RPC_PROTO=http - DRONE_RPC_HOST=drone - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_RUNNER_CAPACITY=2 - DRONE_RUNNER_NAME=runners - HOST_IP=${HOST_IP} depends_on: - drone volumes: - /var/run/docker.sock:/var/run/docker.sock extra_hosts: - gitea.${DOMAIN_ROOT}:${HOST_IP} - nuc.${DOMAIN_ROOT}:${HOST_IP} - gitea-ssh.${DOMAIN_ROOT}:${HOST_IP} networks: - default networks: web: external: true volumes: drone_data: external: true