Files
docker/drone/docker-compose.yaml

79 lines
1.9 KiB
YAML

version: "3.9"
volumes:
drone:
name: drone
drone-db:
name: drone-db
networks:
proxy:
external: true
drone:
name: drone
external: false
services:
drone:
image: drone/drone:2
container_name: drone
hostname: drone
environment:
DRONE_GITEA_SERVER: https://cs-git.ddnss.de
DRONE_GITEA_CLIENT_ID: a18b7e7b-b1fa-4f1a-8a48-18e50fbc1b41
DRONE_GITEA_CLIENT_SECRET: jfyIpOz4E2uk3V1PcgBK9bHTMQtjbJmUvVJi5cRJex1T
DRONE_RPC_SECRET: 3800abd1e957cc5aa82c584e0b3201a7
DRONE_SERVER_HOST: drone.lan
DRONE_SERVER_PROTO: http
DRONE_DATABASE_DRIVER: postgres
DRONE_DATABASE_DATASOURCE: postgres://${DB_USER}:${DB_PASS}@drone-db:5432/${DB_NAME}?sslmode=disable
restart: unless-stopped
depends_on:
- drone-db
volumes:
- drone:/data
networks:
- proxy
- drone
labels:
- "traefik.enable=true"
- "traefik.http.routers.drone.entrypoints=web"
- "traefik.http.routers.drone.rule=Host(`drone.lan`)"
- "traefik.http.services.drone.loadbalancer.server.port=80"
drone-db:
image: postgres:14-alpine
container_name: drone-db
hostname: drone-db
restart: unless-stopped
volumes:
- drone-db:/var/lib/postgresql/data
networks:
- drone
environment:
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_USER: ${DB_USER}
POSTGRES_DB: ${DB_NAME}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $DB_USER"]
drone-runner:
image: drone/drone-runner-docker:1
container_name: drone-runner
hostname: drone-runner
environment:
DRONE_RPC_PROTO: http
DRONE_RPC_HOST: drone.lan
DRONE_RPC_SECRET: 3800abd1e957cc5aa82c584e0b3201a7
DRONE_RUNNER_CAPACITY: 2
DRONE_RUNNER_NAME: drone-runner
restart: always
depends_on:
- drone
networks:
- drone
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3000:3000"