Authentication FAQ#
Common questions and troubleshooting for DUMB's authentication system.
Setup and configuration#
Do I need to enable authentication?#
Authentication is optional. It's recommended if:
- DUMB is accessible from outside your local network
- Multiple users access the system
- You want to control who can start/stop services
You can skip authentication for local/trusted environments.
How do I create the first user account?#
When DUMB starts with no users:
- Navigate to the DUMB frontend
- You'll be redirected to
/setup - Enter a username and password
- Click Create Account
Can I change my password?#
Currently, password changes require:
- Deleting the existing user
- Creating a new user with the same username
Future feature
Password change functionality may be added in future updates.
How many users can I create?#
There's no hard limit on the number of user accounts. Create as many as needed for your use case.
Login issues#
"Invalid credentials" error#
- Check username - Usernames are case-sensitive
- Verify password - Passwords are also case-sensitive
- Account status - Check if the user is disabled in Settings
"User account is disabled" error#
An administrator has disabled your account. Contact an admin to re-enable it via Settings User Management.
Session expires too quickly#
Access tokens expire after 60 minutes by default. If you're experiencing frequent logouts:
- Check if Remember Me was selected during login
- Without Remember Me, tokens are stored in session storage and cleared when the browser closes
- With Remember Me, tokens persist in local storage
Browser shows login page but I was logged in#
- Your access token may have expired
- The frontend should automatically refresh - wait a moment
- If it persists, clear browser storage and log in again
- Check if authentication was recently disabled/re-enabled
Account management#
How do I disable a user without deleting them?#
- Go to Settings User Management
- Find the user
- Click the disable button
Disabled users cannot log in but their account remains for re-enabling later.
"Cannot disable the last active user" error#
DUMB prevents disabling or deleting the last non-disabled user to avoid lockouts. To disable this user:
- Create another user account first
- Then disable the original user
How do I delete a user?#
- Go to Settings User Management
- Find the user
- Click the delete button
- Confirm the deletion
Permanent action
Deleted users cannot be recovered. Create a new account if needed.
Lockout recovery#
I forgot my password - how do I reset it?#
DUMB doesn't have a password reset feature. To recover access:
- Stop the DUMB container
- Edit
/config/users.json - Set
"auth_enabled": false - Start the container
- Access DUMB and create a new user
- Re-enable authentication
I deleted all users and can't log in#
Follow the lockout recovery steps above to disable authentication, then create a new user.
The users.json file is corrupted#
Replace it with a minimal valid file:
{
"version": 2,
"jwt_secret": "",
"auth_enabled": false,
"setup_skipped": false,
"users": []
}
Then restart DUMB and go through setup again. A new JWT secret will be generated automatically.
API and tokens#
How long do tokens last?#
| Token Type | Lifetime |
|---|---|
| Access Token | 60 minutes |
| Refresh Token | 30 days |
How do I authenticate API requests?#
Include the access token in the Authorization header:
curl -H "Authorization: Bearer <your_token>" http://localhost:8000/api/...
How do I authenticate WebSocket connections?#
Pass the token as a query parameter:
ws://localhost:8000/ws/status?token=<your_token>
My API calls return 401 Unauthorized#
- Verify the token is included in the Authorization header
- Check if the token has expired
- Ensure the format is
Bearer <token>(with space) - Try getting a new token via login
Security#
Where are passwords stored?#
Passwords are hashed using bcrypt and stored in /config/users.json. The original password is never stored.
Is the JWT secret secure?#
The JWT secret is auto-generated when the first user is created. It's stored in /config/users.json and should be kept confidential.
Can I use DUMB without HTTPS?#
Yes, but authentication tokens will be transmitted in plain text. For production deployments exposed to the internet:
- Use a reverse proxy with HTTPS
- Or deploy behind a VPN
Should I disable authentication for local use?#
For truly local/isolated environments (e.g., home lab with no internet exposure), disabling authentication simplifies access. However, if anyone on your network can reach DUMB, consider keeping authentication enabled.