Video coming soon…
🔒 Setup Headplane — A Web Admin UI for Headscale
Deploy Headplane on Ubuntu with Docker — a clean web interface for managing your self-hosted Headscale control server: machines, users, routes, and ACLs, without the command line, on port 3054.
⚠️ This script is provided for demo and testing purposes only. Not intended for production use.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/vpn/headplane/headplane-ubuntu.sh
chmod +x headplane-ubuntu.sh
sudo bash headplane-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/vpn/headplane/headplane-ubuntu.sh
2 Make it Executable
chmod +x headplane-ubuntu.sh
3 Run the Installer
The script installs Docker if needed and starts Headplane on port 3054, with its config.yaml pointing at your Headscale server (expected on port 8080). It generates a cookie secret; you'll authenticate with a Headscale API key.
sudo bash headplane-ubuntu.sh
4 Create an API Key and Open the Admin UI
Generate a Headscale API key, then open Headplane's admin interface and log in with it to manage your tailnet visually:
http://<your-server-ip>:3054/admin
Ports Used
| Port | Purpose |
|---|---|
| 3054 | Admin UI (host → container 3000) — at /admin |
| Headscale | Requires a running Headscale server (expected on 8080) |
| API key | Log in with a Headscale API key — full tailnet control |