Thermograph monorepo: graded-climate API + SSR frontend + infra, domain-specific containerized deploys
Find a file
Emi Griffith 441af55084 Route Forgejo through beta's existing Caddy instead of Traefik (#244)
beta (Forgejo's pinned node) is also today's live thermograph.org host,
with Caddy already bound to ports 80/443. A second reverse proxy
binding those same ports would collide with it. Drop Traefik entirely:
forgejo's web port now publishes to 127.0.0.1:3080 only, and a new
Caddy site block (deploy/forgejo/caddy-git.conf) reverse-proxies
git.thermograph.org to it, reusing Caddy's existing automatic-HTTPS
instead of a second ACME flow.

That same Caddy block resolves the registry-exposure question (hazard
#15 in the hop1 runbook) as its first listed option: /v2/* (the
registry API) is blocked to everything outside the WireGuard mesh
CIDR, while the git/web UI stays public. README documents the
/etc/hosts override mesh clients need so registry traffic actually
routes over the tunnel rather than the public IP.
2026-07-21 02:21:53 +00:00
.forgejo/workflows Reconcile Forgejo workflows with the real infrastructure now in place (#238) 2026-07-21 01:08:09 +00:00
deploy Route Forgejo through beta's existing Caddy instead of Traefik (#244) 2026-07-21 02:21:53 +00:00
terraform Have Terraform generate its own internal secrets, with sizing tiers (#239) 2026-07-21 01:08:57 +00:00
docker-compose.openmeteo.yml Move the climate record from parquet to TimescaleDB hypertables (#227) 2026-07-20 20:15:55 +00:00
docker-compose.yml Add the Swarm interim stack file, a pinnable TimescaleDB tag, and a Caddy health-gate (#235) 2026-07-21 00:39:48 +00:00
docker-stack.yml Add the Swarm interim stack file, a pinnable TimescaleDB tag, and a Caddy health-gate (#235) 2026-07-21 00:39:48 +00:00
INFRA.md Realign Swarm/Forgejo infra to the 3-node design (#243) 2026-07-21 01:43:19 +00:00