Troubleshooting

Updated

This page helps with issues when self-hosting NetBird. Collect the diagnostics below, then pick the area that matches your problem.

Start here

Collect diagnostics first

Almost every self-hosted issue is faster to resolve with service status and logs in hand. Grab these before you go deeper.

1. Check services

Service status

docker compose ps

Are netbird-server and dashboard Up, plus traefik if you chose the built-in Traefik? Installs from before v0.65.0 run separate management, signal, and relay services instead.

2. Read the logs

Service logs

docker compose logs -f netbird-server

Most config, auth, and migration errors surface here. On installs from before v0.65.0, read the management service logs.

3. Test reachability

Proxy to API

curl -s https://YOUR_DOMAIN/api/instance

A JSON reply with setup_required confirms the reverse proxy can reach the Management API.

Find your issue by area

Each area lives on its own page. Pick the one closest to your problem.

The getting-started script: the readiness wait, DNS, certificates, Traefik, and re-running cleanly.

Setup page access, SSO connectors, redirect URIs, and users syncing from your provider.

Blank pages and unauthorized or 403 errors in the self-hosted dashboard.

Let's Encrypt renewal and TLS errors behind a custom reverse proxy.

Checking the relay, peer-to-peer failures, and an unreachable Management service.

The Management service failing to start after an upgrade, and recovery after power loss.

Getting Help

If you're still experiencing issues, see Report bugs and issues for the right channel:

  1. Gather evidence first: docker compose logs for all services, your configuration (without secrets), and the steps to reproduce.
  2. Open source self-hosted and general questions go to Community Support: the Slack Channel for quick questions, or GitHub Discussions for a written record.
  3. Cloud customers and users, and commercial-license deployments can reach the team through NetBird Support.