Documentation / Lastboard / Help
Troubleshooting
On this page
Common issues when self-hosting Lastboard, and how to resolve them.
“Database directory is not writable”
Lastboard can’t write its SQLite file. This usually happens when running unprivileged (PUID/PGID) against a data directory owned by another user, common on Proxmox/LXC bind mounts.
- Remove
PUID/PGIDto run asroot(the safe default), or - Make sure the data directory is owned by the
PUID/PGIDyou set.
See Configuration → PUID / PGID.
Too many “429 Too Many Requests” / login lockouts
Behind a reverse proxy without TRUST_PROXY, every visitor appears to come from the proxy’s IP, so they share one rate-limit and lockout bucket.
A setting spelled in a way Lastboard cannot read falls back to its default, so
TRUST_PROXY=True — with a capital letter — means the same as not setting it at
all. Lastboard says so at startup: look for configuration ignored in the log,
which names the setting, the value found and what will be used instead.
- Set
TRUST_PROXY=trueonly when Lastboard sits behind a proxy (Nginx, Traefik, Caddy, Cloudflare, Pangolin…). - Never enable it when Lastboard is exposed directly to the internet — it would let clients spoof their IP.
See Configuration → TRUST_PROXY.
“Too many attempts” when changing a password or deleting an account
The same lockout that guards the sign-in page guards every place that asks for your password again — changing it, deleting an account, resetting the system. It counts per account: after 5 wrong passwords within a minute, that account waits 5 minutes before it accepts another try, whatever it types. A right password clears the count. Nobody else’s account is affected.
“Check for Updates” says I am up to date, but a release is out
- Turn on the Beta channel in Settings → About if the release is a beta; it is a setting of each account.
- A release’s page appears about ten minutes after its tag is pushed, and a check made before then keeps its answer for ten minutes. Press Check for Updates again a little later.
- An installed app that was open before you updated keeps running the old interface: close it fully and open it again.
See Updating.
The dashboard disconnects or widgets stop updating behind a proxy
Live widgets and status updates use long-lived connections (WebSocket/SSE). Some proxies close idle connections or don’t upgrade them.
- Ensure your proxy passes WebSocket upgrades and doesn’t impose a short read/idle timeout on the Lastboard route.
- For Nginx, forward the
Upgrade/Connectionheaders and raiseproxy_read_timeout.
An API or monitored service shows “Unreachable” / down, but it works in my browser
The request runs on the Lastboard server, not your browser, so what matters is reachability from the host.
- Confirm the URL responds from the Lastboard machine (e.g.
curlfrom that host). - Use an address the server can reach — a container name or private IP may differ from what your browser uses.
- Self-signed certificates are accepted, so that alone won’t cause failure.
- For the API widget, a missing or wrong credential also shows as Unreachable. See the API Widget.
A monitored service shows no history
- History is only recorded with 24/7 monitoring on. With it off the up/down dots still work, but nothing is stored, so there is no history to show.
- Recorded checks are kept for 30 days; older data is pruned.
See Monitoring & Uptime.
The Proxmox page says the token cannot see anything
Almost always privilege separation on the token. A token created without --privsep 0
needs an ACL entry of its own as well as the user’s, and what applies is the intersection of
the two — so a brand-new token can end up able to do nothing at all. Recreate it with
--privsep 0, or give the token its own ACL entry.
Save and connect reads the host immediately and reports what the token can actually see, so you can fix it there rather than discovering it later. See Proxmox → Create the token.
The Proxmox start and shutdown buttons are missing
Two reasons, and Lastboard tells you which:
- The token has no
VM.PowerMgmt. Lastboard asks the host what the token may do rather than assuming, so the buttons are simply not drawn. Add the privilege to the role, or leave it off deliberately for a read-only integration. - The machine is not on one of your hypervisors. Power actions work on the hypervisors you connected yourself, on the page and in the widget alike.
Nodes never get these buttons, at any privilege level. That is deliberate — see Starting and stopping.
A Proxmox machine shows the default icon and no bookmark
Matching is deliberately strict: naming the wrong service as the one that went down is worse
than naming none. A machine goes unmatched when its name does not resolve to exactly one
bookmark — two bookmarks would fit, or none does (23-jellyfin-musica against a bookmark
called Jellyfin Music is a different word in a different language).
- If a bookmark does serve it, edit the bookmark and pick the machine under Served by. That always wins over the guess.
- If nothing will ever bookmark it — a CI runner, a tunnel, the container Lastboard itself runs on — open the machine and click its icon to choose one.
A badge says the dashboard is offline
Lastboard shows an offline indicator when a request to its own server fails. It is about your browser’s link to Lastboard, not about your services — a service being down shows up as a red status dot on its tile instead.
The board keeps a copy of its last layout in the browser, so it still draws while the badge is up — but changes made in that state cannot reach the server and will not stick. The badge clears itself as soon as a request succeeds again. There is no service worker, so an installed Lastboard needs to reach the server exactly as the browser tab does.
After restoring a backup, the app looks broken or shows old data
A restore replaces the database, but your browser may still hold cached assets or local state.
- Do a hard refresh (Ctrl/Cmd + Shift + R), or open the app in a private window.
- A restore signs everybody out, because every restored account starts a new session. Sign in again.
Notifications never arrive
- Alerts require 24/7 monitoring — there’s no server to send them in tab mode.
- Use Send test in Settings → Monitoring to verify the endpoint and token.
- Check that the notification server is reachable from the Lastboard host.
See Monitoring → Notifications.
Still stuck?
Contact Support — include your version, how you run Lastboard (Docker/native), and any relevant logs.