Commit graph

26 commits

Author SHA1 Message Date
Roland
da6e62ee45 Backup configs can be restored in the UI. User can choose between Merge or Overwrite, the UI displays a comparison. Configs are compared when user opens the restore modal, configs which won't cause changes are marked. 2026-03-10 20:30:46 -06:00
Roland
ef32e8b42d
Checking readiness of main app in Controller instead of javascript requests, which break with CORS.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-08 16:05:56 -06:00
Roland
c89b16f623
Handling controller redirects in docker/non-docker and http/https situations.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-07 19:40:35 -07:00
Roland
8261df5bef
Redirecting to Controller when main react app is down. 2026-03-07 19:17:38 -07:00
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
Roland
e8bc2b32c4
Displaying any wrolpi-* service in the Controller, now that we have these scripts. 2026-03-05 18:11:25 -07:00
Roland
71c2b6cd6a
Creating script that fixes media directory file and directory permissions, adding it to the Controller UI. 2026-03-05 17:58:21 -07:00
Roland
95c8be298a
Enabling fallback on first controller repair run so that main ui launches after repair completion.
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-03-01 12:42:20 -07:00
Roland
393cf46231
Redirecting to fallback when Controller runs the repair script. 2026-02-28 15:01:55 -07:00
Roland
603a2c010a
Enhancing Controller to run scripts, starting with the repair and upgrade scripts for onboarding use.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-25 17:08:32 -07:00
Roland
c6c0960613
No longer restricting the Controller from unmounting the wrolpi drive. 2026-02-14 17:30:07 -07:00
Roland
3a1d366c5c
Setting uid/gid when mounting exfat and vfat filesystems. 2026-02-08 09:50:18 -07:00
Roland
217474b5c4
Warning is not necessary. 2026-02-05 11:12:12 -07:00
Roland
072fedc656
Controller tracks disk bandwidth stats. 2026-01-23 15:29:18 -07:00
dependabot[bot]
ce9f12da42
Bump aiohttp from 3.12.14 to 3.13.3
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 06:22:34 -07:00
Roland
d4f1cfb859
Adding server uptime to status pages. 2025-12-26 10:05:13 -07:00
Roland
0d155c9311
Allowing controller to restart itself. 2025-12-25 09:29:01 -07:00
Roland
b9eb4e5104
Expanding modal width on controller dashboard. Including hostname in controller dashboard title. 2025-12-24 16:43:37 -07:00
Roland
5fb49ad001
Putting iostat on dashboards.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2025-12-24 15:51:41 -07:00
Roland
78251b067e
Removing WROLPi admin functionality that is now in Controller.
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2025-12-19 18:41:27 -07:00
Roland
a02c47cfa1
Adding wrolpi-app-dev which runs frontend in dev mode.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2025-12-18 18:01:45 -07:00
Roland
7e9e815bf6
Creating wrolpi-api-dev service to run api in debug mode. 2025-12-18 17:51:18 -07:00
Roland
dedeb1b98a
Creating test_all.sh script to run all frontend and backend tests. 2025-12-17 15:11:57 -07:00
Roland
628b9f3096
Adding disk mount handling to React UI.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2025-12-16 17:04:46 -07:00
Roland
1a02a4eb5b
Adding Download and Refresh buttons to the Controller log modals.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2025-12-15 16:53:24 -07:00
Roland
b9158b60fe 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