feat: zero-config first run — in-browser admin bootstrap + auto-generated secrets

Fresh installs need nothing in .env. See PR description for the full feature.
This commit is contained in:
Luca
2026-07-01 14:49:18 +02:00
parent b8b33ae6d6
commit 415bffa04c
17 changed files with 869 additions and 22 deletions
+24
View File
@@ -3462,6 +3462,30 @@
"regenerateToken": "Link neu generieren",
"tokenRegenerated": "Kundenzugangs-Link neu generiert"
},
"setup": {
"title": "Willkommen bei PicPeak",
"subtitle": "Erstellen Sie Ihr Administrator-Konto, um loszulegen",
"tokenLabel": "Setup-Token",
"tokenPlaceholder": "Einmaligen Setup-Token einfügen",
"tokenHint": "Wird beim ersten Start in den Server-Logs ausgegeben (auch in data/SETUP_TOKEN gespeichert).",
"tokenRequired": "Der Setup-Token ist erforderlich",
"tokenLocationHint": "Nicht gefunden? Führen Sie aus: docker compose logs backend | grep -i \"setup token\"",
"emailLabel": "E-Mail-Adresse",
"emailPlaceholder": "[email protected]",
"emailRequired": "E-Mail ist erforderlich",
"invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
"passwordLabel": "Passwort",
"passwordPlaceholder": "Wählen Sie ein sicheres Passwort",
"passwordRequired": "Passwort ist erforderlich",
"passwordMinLength": "Das Passwort muss mindestens 8 Zeichen lang sein",
"confirmLabel": "Passwort bestätigen",
"confirmPlaceholder": "Passwort erneut eingeben",
"passwordMismatch": "Die Passwörter stimmen nicht überein",
"submit": "Admin-Konto erstellen",
"success": "Admin-Konto erstellt. Willkommen!",
"genericError": "Einrichtung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"tooManyAttempts": "Zu viele Versuche. Bitte warten Sie einen Moment und versuchen Sie es erneut."
},
"adminLogin": {
"title": "Admin-Anmeldung",
"subtitle": "Melden Sie sich an, um Ihre Fotogalerien zu verwalten",
+24
View File
@@ -3358,6 +3358,30 @@
"fourStarsPlus": "4+ Stars",
"fiveStarsOnly": "5 Stars Only"
},
"setup": {
"title": "Welcome to PicPeak",
"subtitle": "Create your administrator account to get started",
"tokenLabel": "Setup token",
"tokenPlaceholder": "Paste the one-time setup token",
"tokenHint": "Printed to the server logs on first start (also saved to data/SETUP_TOKEN).",
"tokenRequired": "The setup token is required",
"tokenLocationHint": "Can't find it? Run: docker compose logs backend | grep -i \"setup token\"",
"emailLabel": "Email address",
"emailPlaceholder": "[email protected]",
"emailRequired": "Email is required",
"invalidEmail": "Please enter a valid email address",
"passwordLabel": "Password",
"passwordPlaceholder": "Choose a strong password",
"passwordRequired": "Password is required",
"passwordMinLength": "Password must be at least 8 characters",
"confirmLabel": "Confirm password",
"confirmPlaceholder": "Re-enter your password",
"passwordMismatch": "Passwords do not match",
"submit": "Create admin account",
"success": "Admin account created. Welcome!",
"genericError": "Setup failed. Please try again.",
"tooManyAttempts": "Too many attempts. Please wait a moment and try again."
},
"adminLogin": {
"title": "Admin Login",
"subtitle": "Sign in to manage your photo galleries",