From 7c92dea2852a16fd482cb139bb26b691f2ebadca Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 20 Jun 2022 11:40:00 +0200 Subject: [PATCH] Introduce drone to create build pipelines. --- drone/.env | 4 ++ drone/docker-compose.yaml | 78 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 drone/.env create mode 100644 drone/docker-compose.yaml diff --git a/drone/.env b/drone/.env new file mode 100644 index 0000000..0e8a50e --- /dev/null +++ b/drone/.env @@ -0,0 +1,4 @@ +DB_USER=drone +DB_NAME=drone +DB_PASS=zTzCTAC4u8o3*n!D6bNSLF4PYpaBNy + diff --git a/drone/docker-compose.yaml b/drone/docker-compose.yaml new file mode 100644 index 0000000..4d67d15 --- /dev/null +++ b/drone/docker-compose.yaml @@ -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"