Troubleshooting
Common panel issues and how to fix them.
502 Bad Gateway
Section titled “502 Bad Gateway”Octane is not running or not listening where Nginx expects.
systemctl status skyport-paneljournalctl -u skyport-panel -n 50ss -ltnp | grep 8000Assets not loading / mixed content errors
Section titled “Assets not loading / mixed content errors”This almost always means ASSET_URL or TRUSTED_PROXIES is not set correctly in .env:
APP_URL=https://panel.example.comASSET_URL=https://panel.example.comTRUSTED_PROXIES=*After changing .env, restart Octane and SSR:
systemctl restart skyport-panel skyport-ssrBlank page with no errors
Section titled “Blank page with no errors”The SSR service may not be running or the SSR bundle may be missing:
systemctl status skyport-ssrjournalctl -u skyport-ssr -n 20If you see “Inertia SSR bundle not found”, rebuild assets with:
bun run build:ssrsystemctl restart skyport-ssrAssets broken after an update
Section titled “Assets broken after an update”Rebuild and clear caches:
bun installbun run build:ssrphp artisan optimize:clearsystemctl restart skyport-panel skyport-ssrQueue jobs stuck
Section titled “Queue jobs stuck”systemctl status skyport-queuejournalctl -u skyport-queue -n 50Restart the worker:
systemctl restart skyport-queueDatabase connection errors
Section titled “Database connection errors”Verify your .env settings match your actual database:
php artisan tinker --execute "DB::connection()->getPdo(); echo 'OK';"For SQLite, make sure the file exists and is writable by www-data:
ls -la database/database.sqliteLogin or CSRF errors behind a proxy
Section titled “Login or CSRF errors behind a proxy”Check that:
APP_URLmatches the URL in your browser exactlyTRUSTED_PROXIES=*is set- Your proxy passes
X-Forwarded-ProtoandX-Forwarded-Forheaders
Nodes always show as offline
Section titled “Nodes always show as offline”This is usually a daemon-side issue, not a panel problem:
- Check that
skyportdis running on the node - Verify the node was enrolled successfully
- Confirm the FQDN and ports are correct
- Make sure the daemon can reach the panel URL
Useful log locations
Section titled “Useful log locations”# Service logsjournalctl -u skyport-panel -fjournalctl -u skyport-queue -fjournalctl -u skyport-ssr -f
# Application logtail -f /var/www/skyport/storage/logs/laravel.logGetting help
Section titled “Getting help”When asking for help, include:
- Panel version (check
composer.json) skyportdversion (skyportd --help)- OS and version
- Relevant log output
- Steps to reproduce