wrolpi/controller/lib
Roland fbb71e012d Replace nginx with Caddy for TLS termination and reverse proxying.
- Replace nginx with Caddy as the web server for both Docker and native
  (RPi/Debian) deployments. Caddy handles HTTPS termination, reverse
  proxying to all services (API, React app, Controller, Kiwix, Help, Map),
  and serves the media/download file browsers.
- Generate a Root CA and signed leaf certificates for HTTPS. The Root CA
  uses Name Constraints to restrict signing to local addresses only
  (.local, localhost, and RFC 1918 private IP ranges), mitigating MITM
  risk if the CA key is compromised.
- Add an HTTP landing page that guides users through one-time CA
  certificate installation on iOS, Android, macOS, Windows, Linux, and
  Firefox, with auto-redirect when the cert is already trusted.
- Add trailing-slash redirects for /controller, /docs, /media, and
  /download so bare paths don't fall through to the React catch-all.
- Add a Root CA download link on the Settings page under Configs.
- Update help.sh diagnostics for IPv6 listener detection and HTTP/2
  status codes.
- Remove all nginx config files and the https_proxy Docker container.
- Bump wrolpi-help submodule with certificate documentation.
2026-03-07 18:48:44 -07:00
..
__init__.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00
admin.py Removing WROLPi admin functionality that is now in Controller. 2025-12-19 18:41:27 -07:00
config.py Adding disk mount handling to React UI. 2025-12-16 17:04:46 -07:00
disks.py No longer restricting the Controller from unmounting the wrolpi drive. 2026-02-14 17:30:07 -07:00
docker_services.py Replace nginx with Caddy for TLS termination and reverse proxying. 2026-03-07 18:48:44 -07:00
fstab.py Setting uid/gid when mounting exfat and vfat filesystems. 2026-02-08 09:50:18 -07:00
scripts.py Creating script that fixes media directory file and directory permissions, adding it to the Controller UI. 2026-03-05 17:58:21 -07:00
smart.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00
status.py Controller tracks disk bandwidth stats. 2026-01-23 15:29:18 -07:00
status_worker.py Adding server uptime to status pages. 2025-12-26 10:05:13 -07:00
systemd.py Displaying any wrolpi-* service in the Controller, now that we have these scripts. 2026-03-05 18:11:25 -07:00
wrol_mode.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00