diff --git a/containers/libreportal/frontend/css/backup.css b/containers/libreportal/frontend/css/backup.css index 5eb2ad0..801ba3c 100755 --- a/containers/libreportal/frontend/css/backup.css +++ b/containers/libreportal/frontend/css/backup.css @@ -176,6 +176,12 @@ padding: 18px 22px; } +/* Stands alone below the two-column cards row (which has no bottom margin), so + give it the same vertical rhythm as the summary -> cards gap. */ +.backup-system-card { + margin-top: 20px; +} + .backup-card-header { display: flex; align-items: baseline; diff --git a/containers/libreportal/frontend/html/backup-content.html b/containers/libreportal/frontend/html/backup-content.html index 937ca7b..1cb4d7b 100644 --- a/containers/libreportal/frontend/html/backup-content.html +++ b/containers/libreportal/frontend/html/backup-content.html @@ -88,9 +88,16 @@
-
+
-

System config

+

+ + + + + + System config +

Global settings, WebUI login & backup-location credentials
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 01ea01a..741c3a4 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -201,7 +201,13 @@ is a dev-only escape hatch. from the release): `scripts/`, `tools/`, install templates, and the `libreportal` WebUI app itself (its frontend + generated JSON regenerate; its only state, the login, lives in the system config). Restore = reinstall the code, then restore - the system config + each app's data dir. + the system config + each app's data dir. The system snapshot runs automatically + in `backup all` and is also on-demand via `libreportal backup system` / + `restore system` (restore lands in a staging dir — never overwrites live config) + and the WebUI **backup dashboard → "System config" card**, which shows its + last-backup status (tag `system=config`, surfaced as `system` in the dashboard + JSON) the same way per-app tiles do. The `libreportal` app is excluded from the + per-app grid since it isn't backed up. - **New runtime script?** Add it under `scripts//…` and run `scripts/source/files/generate_arrays.sh run` (or `libreportal regen arrays`) so it's sourced (build/standalone tooling under `scripts/release` and