This guide assumes your Headscale server is already running. If not, see the CLI Quick Start for initial setup.
Overview
You’ll use two graphical interfaces:- Headplane Web Interface - Manage your Headscale server in a browser
- Tailscale Apps - Desktop and mobile apps for connecting devices
Prerequisites
- Headscale server running (verify at
http://localhost:8000/health) - Web browser for accessing Headplane
- Devices you want to connect (Windows, Mac, iPhone, Android)
Access Headplane Web Interface
Open your web browser and navigate to:Copy the generated key and paste it into the Headplane login page.You’ll see the Headplane dashboard with tabs:
First-Time Login
If this is your first time accessing Headplane, you’ll need an API key. Run this command once:Once logged in, you won’t need the command line anymore! All further steps use the GUI.
- Dashboard - Overview of your network
- Nodes - Connected devices
- Users - User management
- Pre-Auth Keys - Authentication keys for devices
- Routes - Network routing
- Settings - Configuration options
Generate a Pre-Auth Key
Pre-auth keys allow devices to join your network automatically.In Headplane:
- Click the Pre-Auth Keys tab
- Click the Create New Key button
- Configure the key settings:
- User: Select
default(or your user name) - Reusable: ✅ Check this box (allows multiple devices)
- Expiration:
24h(or your preferred duration) - Tags: Leave empty or add tags like
tag:personal
- User: Select
- Click Create
- Copy the key immediately! It looks like:
abc123def.456ghi789jkl
Download Tailscale App
Download and install the Tailscale application for your device:
Desktop Applications
-
Windows: https://tailscale.com/download/windows
- Download the
.msiinstaller - Run the installer and follow the prompts
- Find Tailscale in your Start menu
- Download the
-
macOS: https://tailscale.com/download/mac
- Download the
.dmgfile - Drag Tailscale to your Applications folder
- Open from Applications or Launchpad
- Download the
-
Linux: https://tailscale.com/download/linux
- Select your distribution and follow instructions
Mobile Applications
- iPhone/iPad: Search “Tailscale” in the App Store
- Android: Search “Tailscale” in Google Play Store
Connect Your Device
Now configure each device to use your custom Headscale server:
Windows
- Open Tailscale from the Start menu
- Click the Tailscale icon in the system tray (near the clock)
- Click Settings (gear icon)
- Click Use a Custom Login Server
- Enter your server URL:
- Local network:
http://192.168.1.100:8000(use your actual IP) - Production:
https://headscale.yourdomain.com
- Local network:
- Click Connect
- Your browser will open automatically
- Paste your pre-auth key from Step 2
- Click Authenticate
- Done! The Tailscale icon turns blue when connected ✅
macOS
- Open Tailscale from Applications
- Click the Tailscale icon in the menu bar (top right)
- Click Preferences
- Go to the Advanced tab
- Under “Login Server”, enter your server URL:
- Local network:
http://192.168.1.100:8000(use your actual IP) - Production:
https://headscale.yourdomain.com
- Local network:
- Click Save
- Click Connect
- Browser opens → Paste your pre-auth key
- Click Authenticate
- Done! Icon turns blue/green when connected ✅
iPhone/iPad
- Open the Tailscale app
- Tap Settings (gear icon, bottom right)
- Scroll down and toggle ON Use Alternative Coordination Server
- Enter your server URL:
- ⚠️ Must be your computer’s IP, not
localhost - Example:
http://192.168.1.100:8000
- ⚠️ Must be your computer’s IP, not
- Tap Save
- Go back and tap Connect
- Safari opens → Paste your pre-auth key
- Tap Authenticate
- Done! Status shows “Connected” ✅
Android
- Open the Tailscale app
- Tap ⋮ (three dots menu)
- Tap Settings
- Tap Server URL
- Enter your server URL:
- Example:
http://192.168.1.100:8000
- Example:
- Tap OK
- Go back and tap Connect
- Browser opens → Paste your pre-auth key
- Tap Authenticate
- Done! Status shows “Connected” ✅
Verify Connection
Check in Headplane
- Go back to
http://localhost:3001/admin/ - Click the Nodes tab
- Click Refresh or wait a few seconds
- Your device should appear! 🎉
- Device name (e.g., “iPhone”, “Windows-PC”)
- IP address (e.g.,
100.64.0.2) - Status: Online (green indicator)
- Last seen: Just now
Check on Your Device
Desktop:- Windows/Mac: Tailscale icon should be blue/green (connected)
- Click the icon to see your assigned IP address
- Should show “Connected” status
- Displays your Tailscale IP address
Managing Your Network (GUI Only)
All network management can be done through the Headplane web interface:Add More Devices
- In Headplane, go to Pre-Auth Keys tab
- Click Create New Key
- Configure and create
- On the new device: Install Tailscale → Configure custom server → Connect with key
Remove a Device
- In Headplane, go to Nodes tab
- Find the device you want to remove
- Click the Delete button (trash icon)
- Confirm the deletion
View All Connected Devices
- In Headplane, go to Nodes tab
- See all devices with:
- Device name and hostname
- IP address (IPv4 and IPv6)
- Online/offline status
- Last seen timestamp
- User association
Rename a Device
- In Headplane, go to Nodes tab
- Click on the device name
- Edit the name field
- Save changes
Monitor Network Activity
- In Headplane, go to Dashboard tab
- View:
- Total number of nodes
- Active connections
- Recent activity
- Network health status
Using Tailscale App Features
The Tailscale apps include useful features accessible through the GUI:Share Files (Taildrop)
Send files directly to other devices on your network:- Desktop: Right-click Tailscale icon → Taildrop → Select recipient
- Mobile: Share menu → Tailscale → Select recipient
Use Exit Node
Route your internet traffic through another device:- Desktop: Tailscale menu → Exit Node → Select device
- Mobile: Tailscale app → Settings → Use Exit Node → Select device
Accept Routes
Access networks behind other devices:- Desktop: Tailscale menu → Settings → Accept Routes
- Mobile: Tailscale app → Settings → Accept Subnet Routes
Troubleshooting
”Can’t connect” Error
Problem: Device cannot reach Headscale server Solution:- Verify you’re using your computer’s actual IP address, not
localhost - Find your IP:
- Windows: Open Command Prompt →
ipconfig→ Look for IPv4 Address - Mac: System Preferences → Network → Your connection → IP address shown
- Windows: Open Command Prompt →
- Use that IP in server URL:
http://192.168.1.100:8000 - Ensure firewall allows connections on port 8000
”Invalid key” Error
Problem: Pre-auth key is rejected Solution:- Go back to Headplane
- Create a NEW pre-auth key
- Ensure “Reusable” is checked
- Copy the entire key (no spaces, no truncation)
- Try connecting again
Device Not Showing in Headplane
Problem: Device appears connected but not visible in Headplane Solution:- Wait 30-60 seconds for sync
- Click the Refresh button in Headplane
- Verify device shows “Connected” in Tailscale app
- If still missing:
- Disconnect from Tailscale app
- Generate a new pre-auth key
- Reconnect with the new key
Headplane 404 Error
Problem: Browser shows “404 Not Found” when accessing Headplane Solution:- Ensure you’re using the correct URL with trailing slash:
- ✅
http://localhost:3001/admin/ - ❌
http://localhost:3001
- ✅
- Verify Headplane is running:
docker ps | grep headplane
Connection Drops Frequently
Problem: Devices disconnect or reconnect often Solution:- Check network stability
- Verify Headscale health:
http://localhost:8000/health - Review logs in Headplane → Settings → View Logs
- Consider using a longer pre-auth key expiration time
For advanced troubleshooting and detailed logs, see the Troubleshooting Guide.
Next Steps
Now that your devices are connected:- Configure ACL policies to control network access
- Set up subnet routing to access entire networks
- Enable MagicDNS for easy device naming
- Configure exit nodes for secure internet browsing
- Learn about production deployment
