# Caddy Reverse Proxy — Planned, Not Deployed
⚠️ This page describes a planned configuration that was never actually deployed. See opnsense audit entry “Caddy plugin — NOT installed” for proof.
## Why
Internal LAN services (Open WebUI, Portainer, Frigate, Home Assistant, etc.) would benefit from: - Friendly URLs (`https://openwebui.kaburu.lan` instead of `http://192.168.0.253:3000`) - Automatic TLS via Let's Encrypt DNS-01 challenge (Cloudflare) - Single certificate authority across LAN services
## Current state (2026-08-22)
- Caddy plugin not installed on OPNsense - No listener on :443 or :4443 - `caddy-hosts.conf` exists in dnsmasq drop-ins but is dead weight (dnsmasq has `port=0`, Unbound doesn't know `kaburu.lan`)
## Workaround
Direct IP+port access works fine for everything:
| Service | URL |
| ——— | —– |
| Open WebUI | `http://192.168.0.253:3000` |
| Portainer | `https://192.168.0.253:9443` |
| Ollama API | `http://192.168.0.253:11434` |
| Frigate NVR | `http://192.168.0.252:5000` |
| Omada Controller | `https://192.168.0.252:8043` |
| Home Assistant | `http://192.168.0.252:8123` |
Tailscale clients use 100.x.x.x addresses, same ports.
## If you ever want to deploy this
1. Install `os-caddy` plugin via OPNsense UI: System → Firmware → Plugins 2. Configure Caddy domains + backends (Services → Caddy Web Server) 3. Add `*.kaburu.lan` Unbound overrides pointing to 192.168.0.1 (Services → Unbound DNS → Overrides) 4. Delete the dead `caddy-hosts.conf` from dnsmasq drop-ins 5. Update this page to mark it `status: DEPLOYED`
