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.