Troubleshooting

6 min read6 sections

This guide covers the six most common issues operators report in their first month with XtreamGo. If your problem is not listed, scroll to the bottom and email support — we typically reply within a few hours.

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.

Need more help?

Our support team is one email away. We typically reply within a few hours during business hours.