Troubleshooting
Diagnostic guide for the most common IonGuard platform issues.
General diagnostics
Check container status
cd /home/iongrade/ionguard
./scripts/comp.sh ps
All containers should have status Up. If any is Exited or in a restart loop, check the logs.
Full health check
./scripts/healthcheck.sh
Checks: HTTP /up endpoint, Horizon status, and container health.
Logs for a specific service
./scripts/comp.sh logs -f ionguard_php --tail 100
./scripts/comp.sh logs -f ionguard_horizon --tail 100
./scripts/comp.sh logs -f ionguard_mosquitto --tail 100
Common issues
The application does not open in the browser
Symptoms: Blank page, connection error, timeout.
-
Check if nginx is running:
./scripts/comp.sh ps ionguard_nginx -
Check SSL certificate:
./scripts/comp.sh logs ionguard_nginx --tail 20 -
Check if PHP-FPM is responding:
./scripts/comp.sh exec -T ionguard_php php artisan --version -
Check firewall:
sudo ufw status# Ports 80, 443 must be ALLOW
Alerts do not appear in real time
Symptoms: Alerts only appear when reloading the page.
-
Check if Reverb (WebSocket) is running:
./scripts/comp.sh ps ionguard_reverb -
Check Reverb logs:
./scripts/comp.sh logs ionguard_reverb --tail 50 -
In the browser, open the console (F12) and check for WebSocket errors.
Beacons do not appear as "Online"
Symptoms: Registered beacons always with "Pending" or "Offline" status.
-
Check if Mosquitto is running:
./scripts/comp.sh ps ionguard_mosquitto -
Check if MQTT messages are arriving:
./scripts/comp.sh exec -T ionguard_mosquitto \mosquitto_sub -h localhost -u listener -P "$(grep MQTT_PASSWORD .env | cut -d= -f2)" \-t "ionguard/#" -v --retained-only -
Check if the antennas are connected to the correct broker (host, port, credentials).
-
Check MQTT worker logs:
./scripts/comp.sh logs ionguard_mqtt_indoor_location --tail 50
Queue jobs are not being processed
Symptoms: Reports stay as "Pending", alerts are not escalated.
-
Check if Horizon is running:
./scripts/comp.sh ps ionguard_horizon -
Check the Redis queue:
./scripts/comp.sh exec -T ionguard_valkey redis-cli llen queues:default -
Restart Horizon:
./scripts/comp.sh restart ionguard_horizon
"500 Server Error" in the interface
-
Check PHP logs:
./scripts/comp.sh logs ionguard_php --tail 100# or./scripts/comp.sh exec -T ionguard_php tail -50 storage/logs/laravel.log -
Clear cache:
./scripts/clearCache.sh -
Check permissions:
./scripts/setPermissions.sh
Database inaccessible
-
Check if MariaDB is running:
./scripts/comp.sh ps ionguard_mariadb -
Test the connection:
./scripts/comp.sh exec -T ionguard_mariadb \mariadb -u ionguard -p"$(grep DB_PASSWORD .env | cut -d= -f2)" \-e "SELECT 1" -
Check disk space:
df -h
Frontend outdated after upgrade
Symptoms: Interface shows old version or broken layout.
# Force frontend rebuild
rm -rf app/public/build
./scripts/up.sh
Useful commands
| Command | Action |
|---|---|
./scripts/comp.sh ps | Status of all containers |
./scripts/comp.sh logs -f {container} | Real-time logs |
./scripts/healthcheck.sh | Full health check |
./scripts/clearCache.sh | Clear and re-optimize cache |
./scripts/setPermissions.sh | Fix file permissions |
./scripts/restartAllServices.sh | Restart all services |
./scripts/getVersion.sh | Display current version |
Support
If the issue persists after following the steps above, collect the following information for support:
- Output of
./scripts/healthcheck.sh - Output of
./scripts/comp.sh ps - Last 100 lines of
storage/logs/laravel.log - Current version (
./scripts/getVersion.sh) - Detailed description of the issue and steps to reproduce