docker-compose for drone:
version: '3.7'
services:
drone-server:
image: drone/drone:latest
container_name: drone
ports:
- 9080:80
- 9000
volumes:
- ./data:/var/lib/drone
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RUNNER_NETWORKS=devops_bridge
- DRONE_GITEA_SERVER=${GITEA_URL}
- DRONE_GITEA_CLIENT_ID=${GITEA_CLIENT_ID}
- DRONE_GITEA_CLIENT_SECRET=${GITEA_CLIENT_SECRET}
- DRONE_RPC_SECRET=${RPC_SECRET}
- DRONE_SERVER_HOST=${DRONE_HOST}
- DRONE_SERVER_PROTO=https
- DRONE_USER_CREATE=username:devops,admin:true
- DRONE_LOGS_DEBUG=true
- DRONE_GIT_ALWAYS_AUTH=false
labels:
- traefik.enable=true
- traefik.http.routers.drone.rule=Host(`${DRONE_HOST}`)
- traefik.http.routers.drone.entrypoints=websecure
- traefik.http.routers.drone.service=drone
- traefik.http.services.drone.loadbalancer.server.port=80
- traefik.http.services.drone.loadbalancer.server.scheme=http
- traefik.http.routers.drone.tls=true
extra_hosts:
- ${GITEA_HOST}:${ROOT_IP}
networks:
default:
aliases:
- ${DRONE_HOST}
restart: always
drone-runner:
image: drone/drone-runner-docker:latest
restart: always
container_name: drone_runner
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RUNNER_NAME=drone_runner
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NETWORKS=devops_bridge
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=${DRONE_HOST}
- DRONE_RPC_SECRET=${RPC_SECRET}
- DRONE_MAX_PROCS=5
links:
- drone-server:${DRONE_HOST}
extra_hosts:
- ${GITEA_HOST}:${ROOT_IP}
networks:
default:
external:
name: devops_bridge