Common Issues
Solutions to frequently encountered problems with Bloqd.
Dashboard Issues
Can't Access Dashboard
Symptom: Browser shows connection refused or timeout.
Solutions:
-
Check if container is running:
docker compose ps -
Check container logs:
docker compose logs bloqd -
Verify port is exposed:
docker compose port bloqd 3000 -
Check firewall:
# Allow port 3000 (or your configured port)
sudo ufw allow 3000/tcp
Dashboard Loads But Shows Errors
Symptom: Dashboard loads but displays API errors.
Solutions:
-
Check API health:
curl http://localhost:3000/api/v1/health -
Check database connection:
docker compose logs bloqd | grep -i database -
Restart the container:
docker compose restart bloqd
Blank White Page
Symptom: Dashboard shows blank white page.
Solutions:
-
Clear browser cache - Hard refresh (Ctrl+Shift+R)
-
Check browser console - F12 → Console tab for JavaScript errors
-
Verify static files:
docker compose exec bloqd ls -la /app/frontend/dist
Login Issues
Can't Log In
Symptom: Login fails with "Invalid credentials".
Solutions:
-
Reset admin password:
docker compose exec bloqd npm run reset-password admin -
Check if user exists:
docker compose exec bloqd sqlite3 /app/data/bloqd.db \
"SELECT username FROM users;" -
Create new admin user:
docker compose exec bloqd npm run create-user -- \
--username newadmin \
--password "YourPassword123" \
--role admin
Session Expires Too Quickly
Symptom: Logged out frequently.
Solutions:
-
Increase session timeout in
.env:SESSION_TIMEOUT=86400 # 24 hours -
Check system time synchronization:
# Container time
docker compose exec bloqd date
# Host time
date
OAuth Login Fails
Symptom: GitHub/Google login redirects back with error.
Solutions:
-
Verify callback URL:
- GitHub:
https://bloqd.example.com/api/v1/auth/github/callback - Google:
https://bloqd.example.com/api/v1/auth/google/callback
- GitHub:
-
Check OAuth credentials in
.env:GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_secret -
Ensure HTTPS is configured correctly
Server Connection Issues
Server Shows "Offline"
Symptom: Server shows offline status in dashboard.
Solutions:
-
Check agent on server:
sudo systemctl status bloqd-agent -
Check agent logs:
sudo journalctl -u bloqd-agent -n 50 -
Test connectivity from agent:
curl -v https://bloqd.example.com/api/v1/health -
Verify agent configuration:
sudo cat /etc/bloqd/agent.yaml -
Restart agent:
sudo systemctl restart bloqd-agent
Server Shows "Pending"
Symptom: Newly added server stuck in pending state.
Solutions:
-
Complete installation - Run the installer script on the server
-
Check token validity:
# On dashboard server
docker compose logs bloqd | grep "install token" -
Regenerate install command from dashboard
Heartbeat Errors
Symptom: Agent reports heartbeat failures.
Solutions:
-
Check network connectivity:
ping bloqd.example.com -
Check SSL certificate:
openssl s_client -connect bloqd.example.com:443 -
Check agent API key:
grep api_key /etc/bloqd/agent.yaml
Ban Issues
Bans Not Showing
Symptom: Fail2ban is banning IPs but they don't appear in dashboard.
Solutions:
-
Check reporter module:
grep -i reporter /etc/bloqd/agent.yaml -
Check fail2ban action:
sudo cat /etc/fail2ban/action.d/bloqd.conf -
Test manual ban report:
sudo fail2ban-client set sshd banip 192.168.1.100
# Then check dashboard
sudo fail2ban-client set sshd unbanip 192.168.1.100 -
Check agent logs:
journalctl -u bloqd-agent | grep -i "ban"
Whitelist Not Working
Symptom: Whitelisted IPs still getting banned.
Solutions:
-
Check whitelist sync:
# On managed server
sudo cat /etc/fail2ban/jail.local | grep ignoreip -
Force sync:
# From dashboard API
curl -X POST "https://bloqd.example.com/api/v1/whitelist/sync" \
-H "Authorization: Bearer f2b_your_api_key" -
Reload fail2ban:
sudo fail2ban-client reload
Manual Ban/Unban Fails
Symptom: Manual ban/unban commands don't work.
Solutions:
-
Check command queue:
curl "https://bloqd.example.com/api/v1/commands/queue" \
-H "Authorization: Bearer f2b_your_api_key" -
Check agent command module:
grep -i command /etc/bloqd/agent.yaml -
Check fail2ban status:
sudo systemctl status fail2ban
sudo fail2ban-client status
Performance Issues
Dashboard Slow
Symptom: Dashboard takes long time to load.
Solutions:
-
Check server resources:
docker stats bloqd -
Check database size:
ls -lh ./data/bloqd.db -
Reduce ban retention:
BAN_RETENTION_DAYS=30 -
Vacuum database:
sqlite3 ./data/bloqd.db "VACUUM;"
High Memory Usage
Symptom: Container using excessive memory.
Solutions:
-
Restart container:
docker compose restart bloqd -
Limit container memory:
# docker-compose.yml
services:
bloqd:
deploy:
resources:
limits:
memory: 512M
API Timeouts
Symptom: API requests timeout.
Solutions:
-
Check database locks:
sqlite3 ./data/bloqd.db "PRAGMA busy_timeout=5000;" -
Check pending commands:
curl "https://bloqd.example.com/api/v1/commands/queue" \
-H "Authorization: Bearer f2b_your_api_key" | jq '.pending'
SSL/TLS Issues
Certificate Errors
Symptom: Browser shows certificate warning.
Solutions:
-
Check certificate validity:
openssl s_client -connect bloqd.example.com:443 2>/dev/null | \
openssl x509 -noout -dates -
Renew Let's Encrypt:
sudo certbot renew -
Check certificate chain:
curl -vI https://bloqd.example.com 2>&1 | grep -i certificate
Mixed Content Warnings
Symptom: Browser console shows mixed content errors.
Solutions:
-
Ensure
BASE_URLuses HTTPS:BASE_URL=https://bloqd.example.com -
Check reverse proxy headers:
proxy_set_header X-Forwarded-Proto $scheme;
Docker Issues
Container Won't Start
Symptom: Container exits immediately.
Solutions:
-
Check logs:
docker compose logs bloqd -
Check environment file:
docker compose config -
Verify volume permissions:
ls -la ./data/
chmod 755 ./data/
Permission Denied Errors
Symptom: Permission errors in container logs.
Solutions:
-
Fix data directory permissions:
sudo chown -R 1000:1000 ./data/ -
Run container as root (not recommended for production):
services:
bloqd:
user: root
Out of Disk Space
Symptom: Container fails with disk space errors.
Solutions:
-
Clean Docker system:
docker system prune -a -
Check disk usage:
df -h
du -sh ./data/* -
Remove old images:
docker image prune -a
Getting Help
If your issue isn't listed here:
- Check agent-specific issues - See Agent Issues
- Check license issues - See License Issues
- Review FAQ - See FAQ
- Search GitHub Issues - https://github.com/clusterzx/bloqd/issues
- Enable debug logging:
LOG_LEVEL=debug