Skip to Content
Troubleshooting

QuickBox Troubleshooting Hub

Troubleshooting in QuickBox Pro lives where the feature lives. Each dashboard and page owns the triage for the data it shows — the System Dashboard for server health and diagnostics, the App Dashboard for a specific application, the Streaming Dashboard for playback issues, and so on. This hub is the map: it gets your diagnostics collected the fast way, then routes you to the page that owns your symptom. A full qb CLI toolchain sits behind all of it for anyone who prefers the terminal.

Start by gathering diagnostics from your System Dashboard — it is the quickest, no-terminal way to capture everything support needs. Then use the routing map below to jump to the page that owns your issue, or run the matching qb utility from the CLI Reference.

Scope: your server, your API key
Info

Everything here targets the QuickBox Pro instance that you deployed on your own hardware. When we mention the dashboard, settings, API key, or system panels, we mean the QuickBox Pro dashboard served from your own server (at https://your-server-ip or your domain), not your QuickBox account.

Diagnostics first, then route by symptom
Note

Copy diagnostics, then go to the page that owns it

Open your System Dashboard and hit Copy diagnostics to capture your server’s state in one click, then use the routing map to jump to the dashboard or page that owns your symptom. Prefer the terminal? The full qb CLI does the same jobs.


Gather diagnostics the fast way

The preferred way to collect evidence for a support thread is your server’s System Dashboard — no terminal needed. Open it from the sidebar under Dashboard → System Dashboard (admin access required), then:

  1. Quick snapshot: click Copy diagnostics in the top-right command bar. It copies a readable live snapshot — CPU, memory, disk, network, vnStat status — to your clipboard. Paste it into your Discord thread. This covers most first replies.
  2. Full report: scroll to the bottom of the page to the Diagnostics panel and use the Copy / .txt / .json / Bundle buttons for a redacted report that is safe to share publicly.
  3. Full detail (when support asks): in the same panel, open the Full detail menu and choose Download bundle for the complete, unredacted report. It carries your hostname and addresses, so send it in a DM to QuickBox support, not a public channel.

See System Monitoring → Diagnostics for the full walkthrough of each export and what it masks.

Dashboard preferred, CLI always available
Tip

The dashboard is the recommended way to gather logs and diagnostics. If you would rather stay in the terminal — or the dashboard is unreachable — qb generate log writes the same bundle to /opt/quickbox/logs/system_log. Both surfaces gather the same evidence.


Where to troubleshoot

Troubleshooting is spread across the pages that own each feature. Match your symptom to the page that has the data and controls for it:

Your symptomWhere to go
Server health — CPU/memory/disk/network, RAID, alerts, diagnosticsSystem Monitoring
The whole dashboard is blank, 502/503, or will not loadRestart or Repair the Dashboard
Server freezes for no obvious reason and needs a hard reboot (media/download apps)Delete Protection
A dashboard job is stuck and the modal will not closeCancel & Report
A specific app won't start, update, or behaves oddlyApplications catalog (per-app health checks)
Only the streaming/playback view is brokenStreaming Dashboard
License, API key, seat, or telemetry problemsLicense & Activation below
Install failed, permission errors, missing dependenciesInstallation & Environment below
Missing app tiles, duplicate cards, stale version badgesDashboard & Database Health below
Audit events or raw application log filesSystem Logs

The rest of this page covers the server-wide lanes — licensing, install environment, and database health — plus the complete CLI diagnostics toolkit.


Rapid Response Checklist

Most issues fall into one of four buckets—license, install, dashboard cache, or database state. Run these commands (in order) on the affected server so you have a clean baseline before digging deeper.

bash
qb help                       # Refresh available commands and software names
qb update quickbox            # Pull the latest fixes bundled with your release
qb fix version                # Grabs latest stable release and reupdates QuickBox files
qb clean memory               # Clear caches to free resources before reloading services
qb fix database               # Repair DB symlinks and prune duplicate software rows
qb manage api -o deactivate   # Reset the local activation handshake
qb manage api -k qbp_NEW_KEY  # Re-bind the server to your active license
Know what each command touches
Tip

Cross-reference the CLI Reference to understand what each qb subcommand touches — install/remove, multi-user access, database repair — before you run it. You can also run qb help on the host for inline command and software listings.

After updating the API key
Note

Open the dashboard’s API Settings page or run qb manage api again to confirm the handshake succeeded.


License & Activation Flow

  1. Check status on the dashboard: On your server’s dashboard, open System Administration → API Settings to confirm API credentials are active and, if you use it, telemetry is on. Suspended or expired keys will block actions until billing is resolved.
  2. Audit your activations: The servers activated on your license are listed in your QuickBox account, under Licenses in the sidebar at quickbox.io/dashboard/licenses. See Servers and activations. Deactivate a retired server’s local activation by running qb manage api -o deactivate on the host.
  3. Rotate API keys when needed: Generate a fresh key on your account at quickbox.io/dashboard/api-keys, then apply it with qb manage api -k qbp_new_key (or in the dashboard’s API Settings page).
  4. Check telemetry: Telemetry is off by default on new installs. If your account shows the server as offline or its health data is stale, turn telemetry on from the API Settings page or run qb manage telemetry -o on. Your license and updates work without it.
Heartbeat expectations
Note

With telemetry on, the server sends a heartbeat every few minutes. Temporary outages self-heal once the heartbeat resumes; repeated failures mean the API key on disk does not match the dashboard, or there is indeed a critical issue on your server. With telemetry off there is no heartbeat, and your license and updates are unaffected. Reapply the key and rerun qb update quickbox or qb fix version to stay current.


Installation & Environment Issues

QuickBox expects a minimal, up-to-date Debian/Ubuntu install with root access during setup. Reproduce these prep steps whenever you encounter permission errors, missing dependencies, or partial upgrades.

bash
sudo -i                      # Enter a root shell before running qbpro
apt-get -y update && apt-get -y upgrade
curl -sL "https://github.com/QuickBox/pro-v3/raw/refs/heads/main/qbpro_v3" > qbpro
chmod +x qbpro && ./qbpro -u USER -p 'PASSWORD' -k 'API_KEY'
  • Permission denied? Ensure qb commands run via the QuickBox user environment. The installer configures /etc/shells; deviating from Bash can break qb.
  • Port conflict? Follow the installer logs to identify busy ports (80/443 for nginx, 3001-3099 for the dashboard). Stop the conflicting service or rerun the installer with alternate port flags.
  • System clutter? Use the clean helpers documented in the CLI Reference: qb clean system_logs -o 7 -u username to purge stale logs and qb clean qb_logs -u username for dashboard traces.
Fresh installs only
Important

Mixing QuickBox with pre-configured services often leads to unsupported states. If you inherited a server with existing stacks, back up your data and reinstall on a fresh VM before re-running qbpro.


Dashboard & Database Health

Your dashboard’s Application Control panel and Package Management catalog read directly from your server’s database, so missing applications or stale version badges point to local database or cache issues.

  • Duplicate or missing software rows: Run qb fix database. It auto-detects SQLite vs MySQL, repairs the legacy /opt/quickbox/db/qbpro.db symlink (pointing at /opt/quickbox/config/db/qbpro.db) on v3-only servers and skips that step when the v4 dashboard is installed, and prunes duplicate entries by keeping the newest ID per user/software pair.
  • Multi-user permissions: Only software marked as multi-user can be installed by non-admins. Reference the Multi User Software list and adjust availability via User Management → Groups before asking users to reinstall.
  • Admin-installed software: Items such as fail2ban, rclone, netdata, or wireguard must be installed by an administrator (from Package Management, or qb install software_name). Consult the Admin Installed Software matrix; standard users will see these as read-only until granted.
Reload after a stale render
Info

If a panel fails to load or shows stale data, hard-refresh the dashboard page to clear cached state. If the whole dashboard will not load, see Restart or Repair the Dashboard.


System load creeping with kernel writeback workers pegged

If your server’s load average climbs slowly over hours or days while the box stays responsive and no application is busy, check the kernel writeback workers. When a control group dies (a service restart, a daily restart cron, or repeated updates), the kernel re-homes every cached inode that cgroup owned. On a box with a very large inode cache that cleanup can livelock: two kernel worker threads spin near 100% of a CPU and the backlog stops draining.

  • The fingerprint: two kworker threads pegged for hours - kworker/...+inode_switch_wbs and kworker/...+events_unbound - seen with top, not ps (a lifetime average hides it). Application activity is normal; only these kernel workers are hot.
  • Confirm it: run qb fix writeback. The read-only check needs no root, samples the workers, and reports clear, livelock, or unsupported with the dying-cgroup, inode, and cache counters behind the verdict.
  • Clear it: run qb fix writeback --apply (root). It syncs and releases unreferenced dentries and inodes so the drain can finish, never touching in-use files. The same check and apply live on the dashboard under System Dashboard > Hardware Health > Writeback cleanup card.
Apply early; reboot only when it will not drain
Warning

This is an upstream Linux 6.12 kernel regression; the bounded-drain fix is upstream but not yet in Debian. Run qb fix writeback --apply early, when the workers first peg. On a box that has been livelocked a long time the release can crawl at tens of inodes per second at first and the command may print a long ETA - treat that ETA as a worst-case estimate, since the contention often breaks and the rest drains in minutes. Apply, then re-run qb fix writeback every 10 to 30 minutes; reboot at a quiet window only if the inode count is not falling at all. Never run echo 3 > /proc/sys/vm/drop_caches by hand or on a cron - the command’s slab-only reclaim is the safe path.


CLI Diagnostics Toolkit

The CLI remains the fastest way to validate that services, users, and quotas are configured properly. Start with the featured commands below, all of which map directly to the qb manpage sections and the CLI Reference.

Autocomplete at your fingertips
Tip

Hit Tab×Tab after qb, any command, or a software name to reveal completions instantly. It works for users, software, and nested commands.

Autocomplete & keyboard tips

Autocomplete shortcuts
Info
  • Press Tab×Tab after qb, a command, or a software name to trigger the built-in autocomplete (from the quickbox completion script). It suggests commands, subcommands, usernames, and software names dynamically.
  • Use it with nested commands too, e.g., qb manage wireguard then Tab×Tab to see WireGuard actions.
  • When exploring, type qb help then tap Tab×Tab to list available help topics.
Remember qb help [software]
Success

Need the command syntax for a specific app? Execute qb help jellyfin (or any software slug) to see installer flags, user access, and dashboard pointers without leaving the terminal.


Support & Live Assistance

QuickBox support is 100% Discord-based. Opening a thread keeps everything in one place—logs, screenshots, and staff replies—and mirrors how we triage internally. Review the Support Playbook before posting so staff has the context they need.

Before posting in Discord
Caution

Include your QuickBox version, the output of qb update quickbox, and any error text from the dashboard or service logs. Never share full license keys; redact after the first four characters (e.g., QBPRO-1234---****).

Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

  • Dedicated Support
  • Feature Previews
  • Community Configs
  • Active Discussions
Join Discord Server

FAQ

Last updated on