orchard
mirrorEvery site I host, in one repo, along with the Cloudflare Tunnel and Caddy that front them. It's all Go, Vite, and SQLite, and it runs on a desktop at home with nothing listening on an inbound port.
blogbuncaddycloudflare-tunneldockergogolanghomelabhtml-templatemonorepoself-hostedseosqlitestatic-sitetypstuptime-monitoringviteweb-analytics
1# The Caddyfile is baked in rather than bind mounted: the Docker CLI in the
2# webdev container talks to Docker Desktop on the Windows host, which resolves
3# the source path against its own filesystem and mounts empty instead of failing.
4FROM caddy:2-alpine@sha256:98eb57d882ccd5213d1688764db10c1ca2c58a1ca3a6717a3411ad798f7a423a
5COPY Caddyfile /etc/caddy/Caddyfile