clusev/lang/en
boban 703207c03c fix(deploy): build prod image with host clusev uid/gid so sentinels are writable
The prod image baked the app user at uid 1002, but install.sh chowns the
bind-mounted ./run to the clusev host user. On a host where clusev != 1002 the
app process could not write the restart/update sentinel — the dashboard button
showed 'läuft' while nothing happened on the server. Pass APP_UID/APP_GID =
HOST_UID/HOST_GID into the prod build so the in-image app user matches clusev
and ./run is writable. Also surface a failed sentinel write as an error toast
instead of a stuck 'running' state (requestUpdate now returns bool).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 19:45:20 +02:00
..
accounts.php feat(accounts): multi-user admin management — create (temp pw), list, remove, force-logout 2026-06-14 23:39:34 +02:00
audit.php feat(audit): configurable retention + scheduled clusev:prune-audit 2026-06-14 23:40:17 +02:00
auth.php feat(auth): SMTP-aware forgot-password — 15-min e-mail link + 2FA fallback; recovery note out of the public screen 2026-06-15 18:53:37 +02:00
backend.php feat(ssh): SshKeyProvisioner — generate+install key, verify, switch credential, then disable password (rollback-safe) 2026-06-14 21:57:45 +02:00
common.php feat(webauthn): use a security key at the login challenge 2026-06-14 18:26:58 +02:00
dashboard.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
errors.php feat(branding): favicons + PWA manifest, and custom branded error pages 2026-06-14 15:27:49 +02:00
files.php feat(branding): favicons + PWA manifest, and custom branded error pages 2026-06-14 15:27:49 +02:00
mail.php fix(security): harden brute-force, rate-limiting and auth-DoS (audit follow-up) 2026-06-17 17:59:45 +02:00
modals.php feat(security): signed confirm-action tokens + airtight backup-code reveal 2026-06-15 18:35:33 +02:00
servers.php feat(servers): move fail2ban banned-IP list into a scrollable modal 2026-06-14 23:10:36 +02:00
services.php fix(services): live journal poll + command-palette server search 2026-06-14 20:13:08 +02:00
sessions.php feat(sessions): database sessions + list/revoke (other devices, per-user, global) with remember-token rotation 2026-06-14 23:34:00 +02:00
settings.php feat(auth): SMTP-aware forgot-password — 15-min e-mail link + 2FA fallback; recovery note out of the public screen 2026-06-15 18:53:37 +02:00
shell.php fix(modals): reliable open + spinner/error feedback on every modal trigger 2026-06-15 21:07:25 +02:00
system.php feat(tls): dashboard "request certificate" button (trigger Caddy on-demand TLS) 2026-06-17 18:38:21 +02:00
validation.php feat(i18n): custom bilingual validation messages (DE + EN) 2026-06-14 15:45:02 +02:00
versions.php fix(deploy): build prod image with host clusev uid/gid so sentinels are writable 2026-06-19 19:45:20 +02:00