Opens a larger view. Escape closes it.

home-server

README.md

Caddy

The reverse proxy that turns a bunch of things on different ports into hostnames. home.bazzite, bazzite and bazzite.local serve the homepage straight off disk; the other *.bazzite names each proxy to a local port — forgejo.bazzite to 3000, immich.bazzite to 2283, nextcloud.bazzite to 8090, portainer.bazzite to 9000, portfolio.bazzite to the container that serves this site. sunshine.bazzite is the one HTTPS entry, on an internal certificate, because Sunshine’s web UI is HTTPS-only. Caddy runs with network_mode: host, so localhost in the Caddyfile is the host.

The Caddyfile is published as it runs, stale routes included: jellyfin, sonarr, radarr, prowlarr, jellyseerr and a few others point at ports nothing listens on any more. Those entries fail quietly, and I haven’t cleaned them up.

The same stack carries a small nginx beside Caddy, immich-nginx-proxy.conf: it re-serves Immich on port 2284 with its asset paths rewritten under /immich/immich, for reaching the gallery through a path rather than a hostname. The homepage’s HTML and icons are mounted from the host and aren’t included here.

  • docker-compose.yaml — Caddy and the nginx sidecar, as they run
  • Caddyfile — every route
  • immich-nginx-proxy.conf — the Immich path rewrite