Panel is unreachable / returns 502
Most often caused by an nginx upstream that lost track of the backend after a redeploy. SSH into the panel server and run:
docker ps # confirm api container is Up
docker logs api --tail 50
docker restart nginx
If the api container is missing, run docker compose up -d from the panel directory. If logs show a database connection error, see the DB section below.
License shows "Invalid"
Three likely causes, in order of frequency:
1. Outbound HTTPS to api.xtreamgo.io is blocked. From the server: curl -I https://api.xtreamgo.io/healthz — you should get 200 OK.
2. The server clock is more than 5 minutes off. Run timedatectl and ensure NTP is enabled.
3. You moved the panel to a new server and the fingerprint changed — request a reset from support@xtreamgo.io.
Streams buffer or stutter for end-users
Buffering is almost always a source-side or bandwidth issue, not the panel. Check in order:
• Source health — open /dashboard/streams → click the affected stream → view real-time bitrate. If the source itself is choppy, the panel cannot fix it.
• CPU usage on the load-balancer nodes — if any LB is above 80% sustained, add a node.
• Network egress — Hetzner caps free traffic at 20 TB/month; bursting past that throttles all outbound.
Subdomain does not resolve
If you enabled DNS Manager and your subdomain stopped resolving after ~9 hours, you most likely hit the Dynu free-tier silent cleanup. The DNS Manager module's auto-heal goroutine will recreate it within 5 minutes — check /dashboard/dns-manager for the latest health-check log.
If you have not enabled DNS Manager, verify the A record directly on your registrar's panel and confirm the TTL has elapsed.
Admin login is locked out
If you triggered the IP-rate-limit auto-block on your own login, SSH into the panel server and run:
docker exec -it db mysql -u root -p panel -e "DELETE FROM blocked_ips WHERE ip = 'YOUR.IP.HERE';"
Then re-login. To prevent recurrence, add your office IP to the allow-list at /dashboard/security/login-protection.
Reading the logs
Three places to look:
• Panel UI: /dashboard/logs — last 1000 events, filterable by severity
• Docker: docker logs api --tail 200 -f
• File: /var/log/xtreamgo/*.log on the panel server
When contacting support, please attach the last 100 lines of api logs and the exact timestamp of the issue — it cuts resolution time by an order of magnitude.