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.

Automated install script — deploys Headplane on port 3054 as a web UI for an existing Headscale server. Log in with a Headscale API key to manage machines, users, and routes visually.
View on GitHub

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

PortPurpose
3054Admin UI (host → container 3000) — at /admin
HeadscaleRequires a running Headscale server (expected on 8080)
API keyLog in with a Headscale API key — full tailnet control

Overview

Why Use It

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    When Not to Use It

                    PrismaTechWork Professional Help

                      Contact Us

                      Frequently Asked Questions