Admin Panel
The admin panel is accessible to users with admin privileges. It provides a system status overview and full user management capabilities.
Accessing the Admin Panel
The admin panel is available at /admin in the web interface. It is only visible to users with is_admin: true. Regular users are automatically redirected away if they try to access it directly.
System Status
At the top of the admin panel, a System widget shows the current state of the installation.
Frontend — displays the currently running frontend version.
Backend — displays the backend version, Node.js version, and uptime. If the backend is unreachable, it shows as offline.
Docker Hub — fetches the latest published versions of cheinisch/dockwallet-backend and cheinisch/dockwallet-frontend and compares them against the running versions.
If an update is available, a banner appears with a direct link to the Docker Hub tags page. Click Refresh to re-check all three values manually.
User Management
Below the system status, a table lists all registered users. You can search by username, email, first name, or last name using the search field.
Each row shows:
- Username, email, and full name (if set)
- Status — whether the account is active and whether the user has admin rights
- Auth — whether MFA (TOTP) is enabled and how many passkeys are registered
- Passes — number of boarding passes stored for that user
- Created — account creation date
Creating a User
Click Create User to open the creation form. The following fields are available:
| Field | Required | Description |
|---|---|---|
| Username | Yes | Unique login name |
| Yes | Unique email address | |
| Password | Yes | Minimum 8 characters |
| First name | No | Optional display name |
| Last name | No | Optional display name |
| Active | — | If enabled, the user can log in immediately without email confirmation |
| Admin | — | If enabled, the user has access to the admin panel |
Editing a User
Click Edit next to a user to update their username, email, name, active status, and admin role. Email and username must remain unique across all users.
Resetting a Password
Click Password next to a user to set a new password for them directly. The new password must be at least 8 characters long. No confirmation email is sent.
Resetting MFA
If a user has MFA enabled, a MFA reset button appears in their row. Clicking it immediately disables MFA and deletes the stored TOTP secret for that user. The user will be able to log in again with just their password.
Deleting Passkeys
If a user has one or more passkeys registered, a Passkeys button appears. Clicking it deletes all passkeys for that user. This is useful if a user has lost access to their device.
Deleting a User
Click Delete to permanently remove a user. A confirmation dialog shows how many boarding passes will also be deleted. This action cannot be undone — all passes are deleted along with the account via cascade.
Admins cannot delete their own account from the admin panel.