From c03b9eed6cdcb44e86d87bddfdf634b49a5be627 Mon Sep 17 00:00:00 2001 From: SauravDhakal Date: Wed, 1 Apr 2026 12:25:04 +0545 Subject: [PATCH] feat: gitea and woodpecker --- caddy/Caddyfile | 23 +++++++++++++++++++++++ services/gitea.yml | 20 ++++++++++++++++++++ services/woodpecker.yml | 25 +++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 services/gitea.yml create mode 100644 services/woodpecker.yml diff --git a/caddy/Caddyfile b/caddy/Caddyfile index d4f9b0e..b45b6bf 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -73,6 +73,29 @@ uptime.sauravdhakal.com.np { reverse_proxy localhost:3001 } +# Gitea — VPN only, it's your private git server +gitea.sauravdhakal.com.np { + bind 100.81.85.182 + reverse_proxy localhost:3000 +} + +# Woodpecker CI — VPN only +ci.sauravdhakal.com.np { + bind 100.81.85.182 + reverse_proxy localhost:8000 +} + +# Your site — public, with caching +# sauravdhakal.com.np { +# root * /home/saurav/site/public +# +# # This is where you learn caching +# header Cache-Control "public, max-age=3600" # cache 1 hour by default +# header /static/* Cache-Control "public, max-age=31536000, immutable" # assets forever +# +# file_server +# encode gzip +# } # dozzle.sauravdhakal.com.np { # bind 100.81.85.182 # reverse_proxy localhost:8888 diff --git a/services/gitea.yml b/services/gitea.yml new file mode 100644 index 0000000..a8b5162 --- /dev/null +++ b/services/gitea.yml @@ -0,0 +1,20 @@ +services: + gitea: + image: gitea/gitea:latest + restart: unless-stopped + user: "1000:1000" + ports: + - "127.0.0.1:3000:3000" + - "2222:22" # git ssh — different port to avoid conflict + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=sqlite3 + - GITEA__database__PATH=/data/gitea/gitea.db + - GITEA__server__DOMAIN=gitea.sauravdhakal.com.np + - GITEA__server__ROOT_URL=https://gitea.sauravdhakal.com.np + - GITEA__server__SSH_DOMAIN=gitea.sauravdhakal.com.np + - GITEA__server__SSH_PORT=2222 + - GITEA__service__DISABLE_REGISTRATION=true # only you use this + volumes: + - /home/saurav/hetzner_self/data/gitea:/data diff --git a/services/woodpecker.yml b/services/woodpecker.yml new file mode 100644 index 0000000..4558d10 --- /dev/null +++ b/services/woodpecker.yml @@ -0,0 +1,25 @@ +services: + woodpecker-server: + image: woodpeckerci/woodpecker-server:latest + restart: unless-stopped + ports: + - "127.0.0.1:8000:8000" + environment: + - WOODPECKER_OPEN=false + - WOODPECKER_GITEA=true + - WOODPECKER_GITEA_URL=https://gitea.sauravdhakal.com.np + - WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT} + - WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET} + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + - WOODPECKER_HOST=https://ci.sauravdhakal.com.np + volumes: + - /home/saurav/hetzner_self/data/woodpecker:/var/lib/woodpecker + + woodpecker-agent: + image: woodpeckerci/woodpecker-agent:latest + restart: unless-stopped + environment: + - WOODPECKER_SERVER=woodpecker-server:9000 + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + volumes: + - /var/run/docker.sock:/var/run/docker.sock # agent runs hugo in docker