Introduce drone to create build pipelines.

This commit is contained in:
2022-06-20 11:40:00 +02:00
parent aa8fbca218
commit 7c92dea285
2 changed files with 82 additions and 0 deletions

4
drone/.env Normal file
View File

@@ -0,0 +1,4 @@
DB_USER=drone
DB_NAME=drone
DB_PASS=zTzCTAC4u8o3*n!D6bNSLF4PYpaBNy

78
drone/docker-compose.yaml Normal file
View File

@@ -0,0 +1,78 @@
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"