92 lines
2.4 KiB
YAML
92 lines
2.4 KiB
YAML
services:
|
|
drone:
|
|
container_name: drone
|
|
env_file:
|
|
- .env
|
|
image: drone/drone:latest
|
|
labels:
|
|
traefik.docker.network: traefik
|
|
traefik.enable: true
|
|
traefik.http.routers.drone.entrypoints: websecure
|
|
traefik.http.routers.drone.rule: Host(`drone.alexlebens.net`)
|
|
traefik.http.routers.drone.service: drone
|
|
traefik.http.services.drone.loadbalancer.server.port: 80
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
drone:
|
|
ipv4_address: 172.22.0.11
|
|
traefik: null
|
|
restart: always
|
|
volumes:
|
|
- drone_data:/data
|
|
|
|
drone_runner_1:
|
|
container_name: drone_runner_1
|
|
depends_on:
|
|
- drone
|
|
env_file:
|
|
- .run.env
|
|
environment:
|
|
DRONE_RUNNER_NAME: drone_runner_1
|
|
DRONE_RUNNER_NETWORKS: traefik
|
|
image: drone/drone-runner-docker:latest
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
drone:
|
|
ipv4_address: 172.22.0.12
|
|
privileged: true
|
|
restart: always
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
drone_runner_2:
|
|
container_name: drone_runner_2
|
|
depends_on:
|
|
- drone
|
|
env_file:
|
|
- .run.env
|
|
environment:
|
|
DRONE_RUNNER_NAME: drone_runner_2
|
|
DRONE_RUNNER_NETWORKS: traefik
|
|
image: drone/drone-runner-docker:latest
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
drone:
|
|
ipv4_address: 172.22.0.13
|
|
privileged: true
|
|
restart: always
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
networks:
|
|
traefik:
|
|
name: traefik
|
|
external: true
|
|
|
|
drone:
|
|
name: drone
|
|
external: false
|
|
ipam:
|
|
config:
|
|
- subnet: 172.22.0.0/16
|
|
|
|
volumes:
|
|
drone_data:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/drone_data
|