Skip to Content
Troubleshooting & FAQTroubleshooting & FAQ

Troubleshooting & FAQ

Common problems

My device doesn’t show up in the dashboard

Check: Is the daemon running?

# Linux sudo systemctl status rabtly # macOS — check if the process is running ps aux | grep rabtly-daemon

Check: Can the device reach the control plane?

curl http://your-control-plane:8080/api/v1/status

If this fails, your control plane might be down, or a firewall is blocking port 8080.

Check: Is the enrollment token correct? If your control plane requires a token (you set RABTLY_ENROLL_TOKEN), make sure the daemon is started with --token YOUR_TOKEN.


Two devices show as Online but can’t ping each other

Check: Are both devices in the same network? In the dashboard Nodes page, check the Network column. Devices in different networks are isolated.

Check: Is your access control policy blocking traffic? Go to Access Control and check the rules. If in doubt, temporarily set the policy to allow everything:

{ "acls": [{ "action": "accept", "src": ["*"], "dst": ["*:*"] }] }

Check: Are there host firewalls (iptables, ufw, Windows Firewall) blocking traffic on the devices themselves?

# Ubuntu/Debian — temporarily disable ufw sudo ufw disable # Test connectivity, then re-enable sudo ufw enable

The ping works but it’s slow

Rabtly first tries to connect devices directly (peer-to-peer). If that fails, traffic falls back through the relay server, which adds latency.

To check if you’re using the relay:

# Run the CLI status command rabtly-ctl status

If you see “relay” in the connection type, your NAT or firewall is blocking direct connections. This is normal — the relay ensures connectivity even in restrictive networks. Latency is typically acceptable for most use cases.


I forgot my dashboard password

If you have shell access to the server, restart the control plane with a new RABTLY_ADMIN_PASS environment variable:

RABTLY_ADMIN_PASS=new-password rabtly-server

This updates the built-in admin account’s password. For PostgreSQL-backed accounts, you’ll need to reset the password hash in the database directly.


The dashboard shows an error after upgrading

Clear your browser cache and do a hard reload (Ctrl+Shift+R or Cmd+Shift+R). If that doesn’t help, delete the .next build cache on the server and restart.


The daemon crashes on startup on Linux

Check the logs:

sudo journalctl -u rabtly -n 50

Common causes:

  • WireGuard module not loaded: Run sudo modprobe wireguard and try again.
  • Permission denied: The daemon must run as root (or with CAP_NET_ADMIN).
  • Port already in use: Another service is using the WireGuard port. Change it with --listen-port.

Frequently asked questions

Is Rabtly free?

The self-hosted version is free and open source. You run it on your own infrastructure. Rabtly Cloud (managed, no server required) is coming soon — sign up for early access at rabtly.io .

Is my traffic encrypted?

Yes. All traffic between devices uses WireGuard, which uses ChaCha20-Poly1305 encryption. Traffic never goes through the control plane — only through your devices (or the relay as a fallback).

Does Rabtly log my traffic?

No. The control plane only tracks which nodes are online and their WireGuard public keys. It never sees the contents of your encrypted traffic.

Can I use Rabtly on a mobile phone?

Mobile clients are on the roadmap. For now, Rabtly works on macOS, Linux, and Windows. You can follow progress on GitHub .

How many devices can I connect?

There’s no hard limit. The free file-based backend handles dozens of nodes easily. For hundreds of nodes, use PostgreSQL for better performance.

What’s the IP range Rabtly uses?

Rabtly assigns IPs in the 100.64.0.0/10 range (RFC 6598 Shared Address Space). This is the same range used by Tailscale. These IPs are private — they don’t conflict with typical home networks (192.168.x.x or 10.x.x.x).

Can two devices be in different countries?

Yes. Rabtly works globally. Devices find each other through the control plane, then establish direct connections wherever they are. If direct connection fails (rare), the relay server bridges them.

What happens if the control plane goes down?

Existing connections between devices continue working — they don’t go through the control plane. New devices can’t join, and the dashboard won’t load until the control plane is back up.

Is there a CLI?

Yes. The rabtly-ctl CLI lets you check status, list nodes, manage ACL rules, and more from the terminal. See the CLI reference for details.


Still stuck?