diff --git a/.woodpecker/edge-subpath.yml b/.woodpecker/edge-subpath.yml index 2c11980..f9c874a 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)"