First-run setup
The admin password is created with a one-time setup code printed to the backend logs. There is no default password.
Create the admin password
Start the stack and open the frontend.
The UI asks for a setup code. Get it from the backend logs:
bashdocker compose logs backendLook for a line like
Admin setup code: <code>.Enter the code and choose a new password in the UI.
GET /api/v1/auth/status generates and logs the code only when no password exists yet, so the code never leaks before setup is complete.
Reset the password
Password resets use the same log-based pattern:
- Open the login page and choose Reset password.
- The backend logs a one-time reset code (
Admin password reset code: <code>). - Enter the code and the new password in the UI.
Both setup and reset codes expire after ADMIN_RECOVERY_CODE_EXPIRE_MINUTES (default 30).
Session expiry
Password-login sessions expire after ADMIN_SESSION_EXPIRE_HOURS (default 24). After that, you sign in again with your admin password.