Files
docker-compose-cookbooks/headscale/docs/verify-and-troubleshoot.md
T
codeandClaude Opus 5.5 665c27e7f4 headscale: promote from _dev, split README into per-task docs
Move step-by-step guides into headscale/docs/, slim README to a quick
reference, and use $HEADSCALE_CONTAINER for docker exec commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:07:10 +00:00

1.0 KiB

Verify and Troubleshoot

← Back to README

Commands below use $HEADSCALE_CONTAINER. Set it once per shell session on the dedicated server (change the value if your compose project name differs; find it with docker ps):

export HEADSCALE_CONTAINER=headscale-headscale-1
docker exec -it "$HEADSCALE_CONTAINER" headscale nodes list   # on the dedicated server
tailscale status                                             # on any client
tailscale ping <lan-node-hostname-or-100.64.x.x-ip>          # from your laptop/phone

A reply of pong via ... (direct or DERP) means the mesh works.

tailscale up hangs or /ts2021 returns 500

Almost always the reverse proxy — check NPM settings (Websockets on, HTTP/2 off). To confirm, watch both sides while retrying tailscale up:

journalctl -u tailscaled -f                 # on the client
docker logs -f "$HEADSCALE_CONTAINER"        # on the server

/ts2021 requests should return status=200, not 500.