From 58ba2ad8dfd95970c34f736206737d007347f31b Mon Sep 17 00:00:00 2001 From: AngeD Date: Sun, 24 Dec 2023 11:09:47 +0100 Subject: [PATCH] feat: woodpecker --- woodpecker/.env | 4 +++ woodpecker/compose.yaml | 55 +++++++++++++++++++++++++++++++++++++++++ woodpecker/install_site | 1 + woodpecker/nginx.conf | 28 +++++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 woodpecker/.env create mode 100644 woodpecker/compose.yaml create mode 120000 woodpecker/install_site create mode 100644 woodpecker/nginx.conf diff --git a/woodpecker/.env b/woodpecker/.env new file mode 100644 index 0000000..e2a0b35 --- /dev/null +++ b/woodpecker/.env @@ -0,0 +1,4 @@ +BASE_URL=build. +EMAIL= + +WOODPECKER_AGENT_SECRET= #$(openssl rand -hex 32) diff --git a/woodpecker/compose.yaml b/woodpecker/compose.yaml new file mode 100644 index 0000000..01dac03 --- /dev/null +++ b/woodpecker/compose.yaml @@ -0,0 +1,55 @@ +--- +services: + install_site: + build: install_site + environment: + - BASE_URL + - EMAIL + volumes: + - ./nginx.conf:/web/woodpecker.conf + - sites:/sites/ + - certs:/etc/letsencrypt/ + - certbotroot:/var/www/certbot/ + - /var/run/docker.sock:/var/run/docker.sock + + server: + image: docker.io/woodpeckerci/woodpecker-server:v2.0.0 + restart: unless-stopped + volumes: + - server-data:/var/lib/woodpecker/ + environment: + - WOODPECKER_OPEN=true + - WOODPECKER_HOST=$BASE_URL + - WOODPECKER_GITEA=true + - WOODPECKER_AGENT_SECRET + networks: + - nginx + - default + + agent: + image: docker.io/woodpeckerci/woodpecker-agent:v2.0.0 + restart: unless-stopped + command: agent + volumes: + - agent-config:/etc/woodpecker + - /var/run/docker.sock:/var/run/docker.sock + environment: + - WOODPECKER_SERVER=server:9000 + - WOODPECKER_AGENT_SECRET + depends_on: + - server + + +volumes: + server-data: + agent-config: + sites: + external: true + certs: + external: true + certbotroot: + external: true + +networks: + nginx: + external: true diff --git a/woodpecker/install_site b/woodpecker/install_site new file mode 120000 index 0000000..846f55c --- /dev/null +++ b/woodpecker/install_site @@ -0,0 +1 @@ +../_nginx/install_site \ No newline at end of file diff --git a/woodpecker/nginx.conf b/woodpecker/nginx.conf new file mode 100644 index 0000000..2aa1edf --- /dev/null +++ b/woodpecker/nginx.conf @@ -0,0 +1,28 @@ +server { + listen 80; + listen [::]:80; + server_name $BASE_URL; + + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + server_name $BASE_URL; + + ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem; + + + location / { + proxy_pass http://woodpecker:8000; + + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + + chunked_transfer_encoding off; + proxy_buffering off; + proxy_redirect off; + } +}