From 138369ad8e5ae9c3a62829faf5c7f2b3c1a2db62 Mon Sep 17 00:00:00 2001 From: Agent Date: Tue, 21 Apr 2026 15:13:10 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20add=20uri=20strip=5Fprefix=20/forge=20to?= =?UTF-8?q?=20Caddyfile=20generator=20=E2=80=94=20Forgejo=20routes=20404?= =?UTF-8?q?=20without=20it=20(completes=20#1080)=20(#1103)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .woodpecker/edge-subpath.yml | 1 + lib/generators.sh | 1 + nomad/jobs/edge.hcl | 1 + tests/test-caddyfile-routing.sh | 7 +++++++ 4 files changed, 10 insertions(+) diff --git a/.woodpecker/edge-subpath.yml b/.woodpecker/edge-subpath.yml index 06934de..a052186 100644 --- a/.woodpecker/edge-subpath.yml +++ b/.woodpecker/edge-subpath.yml @@ -59,6 +59,7 @@ steps: echo '' echo ' # Reverse proxy to Forgejo' echo ' handle /forge/* {' + echo ' uri strip_prefix /forge' echo ' reverse_proxy 127.0.0.1:3000' echo ' }' echo '' diff --git a/lib/generators.sh b/lib/generators.sh index 67ff830..9efd360 100644 --- a/lib/generators.sh +++ b/lib/generators.sh @@ -860,6 +860,7 @@ _generate_caddyfile_subpath() { # Reverse proxy to Forgejo handle /forge/* { + uri strip_prefix /forge reverse_proxy forgejo:3000 } diff --git a/nomad/jobs/edge.hcl b/nomad/jobs/edge.hcl index 67c474c..9371768 100644 --- a/nomad/jobs/edge.hcl +++ b/nomad/jobs/edge.hcl @@ -151,6 +151,7 @@ EOT # Reverse proxy to Forgejo handle /forge/* { + uri strip_prefix /forge reverse_proxy 127.0.0.1:3000 } diff --git a/tests/test-caddyfile-routing.sh b/tests/test-caddyfile-routing.sh index 7eea806..9a04eec 100755 --- a/tests/test-caddyfile-routing.sh +++ b/tests/test-caddyfile-routing.sh @@ -89,6 +89,13 @@ check_forgejo_routing() { tr_fail "Missing Forgejo handle block (handle /forge/*)" fi + # Check uri strip_prefix /forge (required for Forgejo routing) + if echo "$CADDYFILE" | grep -q "uri strip_prefix /forge"; then + tr_pass "Forgejo strip_prefix configured (/forge)" + else + tr_fail "Missing Forgejo strip_prefix (/forge)" + fi + # Check reverse_proxy to Forgejo on port 3000 if echo "$CADDYFILE" | grep -q "reverse_proxy 127.0.0.1:3000"; then tr_pass "Forgejo reverse_proxy configured (127.0.0.1:3000)"