# Append this block to /etc/caddy/Caddyfile on beta (the box this stack's # `forgejo` service is pinned to — see docker-stack.yml). Reuses beta's # existing Caddy instead of a second reverse proxy/ACME flow: Forgejo # publishes its web UI to 127.0.0.1:3080 only (host-local), and this block is # the only thing that ever talks to it. # # Registry exposure (hazard #15, see docker-stack.yml's header comment): # git.thermograph.org/v2/* is the built-in OCI registry API. It's blocked # from anywhere except the WireGuard mesh (10.10.0.0/24) — reachable to CI # runners and Swarm nodes over wg0, not from the public internet. Everything # else (web UI, git-over-HTTP, PR pages) stays public like the rest of the # site. # # Update FORGEJO_DOMAIN below to match whatever domain you actually pointed # at beta's IP if it's not git.thermograph.org. git.thermograph.org { encode zstd gzip @registry_external { path /v2/* not remote_ip 10.10.0.0/24 } respond @registry_external 403 reverse_proxy 127.0.0.1:3080 log { output file /var/log/caddy/git.log } }