Headscale

Headscale is an open-source, self-hosted implementation of the Tailscale control server.

  • Network Services
  • Other
  • Tools & Utilities
Headscale is an open-source, self-hosted implementation of the Tailscale control server. It lets self-hosters and hobbyists run their own control server for a single Tailnet, providing an open, self-managed WireGuard-based overlay network for personal projects or small organisations.

Platform availability

Available on 4 of 9 platforms

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

79/100 Good

Maintained
100last commit 9 days ago
Popular
9344,388 GitHub stars
Easy to install
654 install platforms, install notes, Docker image
Light to run
404 GB minimum RAM, runs on ARM
Security check
63no serious findings, 13 minor, CI, tests, OpenSSF Scorecard 5.3/10

Availability: platform listings confirmed today, links checked 17 days ago

GitHub stars
44,388
Open issues
151
Last commit
2026-10-06
Latest release
v0.29.4
License
BSD-3-Clause
Activity
steady

Checked 9 days ago - source: GitHub (juanfont/headscale)

Resources & Compatibility

Minimum requirements: 4 GB RAM, 2 CPU core(s). ARM (e.g. Raspberry Pi) is supported.

Checked 16 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Fill in the config before starting Create /etc/headscale/config.yaml and fill in your required settings before enabling Headscale. Without a valid config, the server can fail to start or not accept devices and users. source
  • Keep config and data folders safe Headscale keeps settings in /etc/headscale and device/user data in /var/lib/headscale. Backing them up matters because if those folders are lost, your private network records and keys are gone. source
  • For Docker, map folders and ports When running Headscale in Docker, mount your local config and lib folders into the container and publish ports 8080 and 9090. 8080 is for the admin/API interface and 9090 is for metrics, so Headscale stays manageable and monitorable. source
  • Config versions Use example configs from the same GitHub tag as your Headscale version. source

Fetched 5 days ago - each note links to its source

Alternatives (7)

  • LogMeIn Hamachi - Seamlessly connects devices and networks, extending LAN-like connectivity to mobile users and teams with a secure, hosted VPN service.
  • NetBird - NetBird is an open-source Zero Trust networking platform that makes it easy for engineers to create fast, secure, and private networks with…
  • SoftEther VPN - SoftEther VPN ("SoftEther" means "Software Ethernet") is one of the world's most powerful and easy-to-use multi-protoco…
  • Tailscale - Private networks made easy.
  • ZeroTier - Zerotier is an open source, cross-platform virtual LAN / VPN
  • defguard - Defguard is a self-hosted secure remote access platform that combines a WireGuard virtual private network, identity and access management,…
  • ngrok - All-in-one API gateway, Kubernetes Ingress, DDoS protection, firewall, and global load balancing as a service.

Checked 14 days ago - source: AlternativeTo

Common questions

Do I need to create the configuration file before starting Headscale?

Yes, you should create the config file and fill in required settings before enabling Headscale. Without a valid config, the server may fail to start or refuse devices and users.

Which Headscale folders should I back up?

Back up the config directory at /etc/headscale and the data directory at /var/lib/headscale. If those folders are lost, the network records and keys are gone.

Does Headscale support multiple tailnets?

No, the design goal is a narrow scope with a single Tailscale network. That suits personal use or a small organization.

What ports and folders should I expose when running Headscale in Docker?

Mount local config and lib folders into the container and publish ports 8080 and 9090. Port 8080 serves the admin/API interface, while 9090 serves metrics.

Can I use standard Tailscale clients with Headscale?

Users report that standard Tailscale clients can be used, but connecting to a Headscale server may require workarounds.

Answers sourced from github.com, headscale.net, headscale.net, headscale.net, www.reddit.com

Community

Collected 16 days ago - public community threads