Files
2026-04-25 11:06:10 -04:00

49 lines
1.5 KiB
Caddyfile

# ---------------------------------------------------------------------------
# Caddyfile
#
# Install at /etc/caddy/Caddyfile (or merge with your existing one), edit the
# placeholders below, then: sudo systemctl reload caddy
#
# Caddy auto-provisions Let's Encrypt certs for every site block. DNS for
# both subdomains must point at this Caddy host's public IP first.
#
# Placeholders to replace:
# yourdomain.com -> your real domain
# 192.168.1.50 -> Frigate host LAN IP
# 192.168.1.60 -> Pi Zero W LAN IP (when you set up the doorbell)
# ---------------------------------------------------------------------------
# ---------- Frigate authenticated UI ----------
cam.yourdomain.com {
encode zstd gzip
reverse_proxy 192.168.1.50:8971 {
transport http {
read_timeout 60s
write_timeout 60s
}
}
}
# ---------- Doorbell PTT page (Pi Zero W) ----------
# Comment out this whole block until the Pi is deployed.
doorbell.yourdomain.com {
encode zstd gzip
# Same-origin proxy to Frigate so the browser's WebRTC fetch works
# without CORS issues. /frigate/* is stripped before forwarding.
handle_path /frigate/* {
reverse_proxy 192.168.1.50:8971 {
transport http {
read_timeout 60s
write_timeout 60s
}
}
}
# Everything else (HTML page + /audio WebSocket) goes to the Pi.
handle {
reverse_proxy 192.168.1.60:5555
}
}