WZ-IT Logo

What Is Headscale? Self-hosted Tailscale Control Server Explained

Timo WevelsiepTimo WevelsiepUpdated: 30.06.2026

Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.

Remote-maintaining distributed infrastructure on your own terms? WZ-IT builds remote-management platforms with a self-hosted WireGuard mesh as the network backend. See our remote-management platforms

Headscale is an open-source, self-hosted implementation of the Tailscale control server - the coordination server that steers a WireGuard-based mesh network, without making you depend on the Tailscale cloud. Tailscale has two parts: a control plane that distributes keys, routes and access rules, and a data plane of direct WireGuard tunnels. That control plane is proprietary and cloud-only in Tailscale. Headscale reimplements exactly this server as open source so you can run it on your own infrastructure - while reusing the official, unmodified Tailscale clients. As of mid-2026 Headscale is at version v0.29.1 (18 June 2026, github.com/juanfont/headscale) under the BSD-3-Clause license.

Table of Contents


How Headscale works

Headscale takes the role of the control plane in a Tailscale network, the so-called tailnet. Like Tailscale itself, it cleanly separates control from data traffic:

  • Coordination (control plane): The Headscale instance holds the network state. It registers devices (via pre-auth key or single sign-on), manages their public WireGuard keys, assigns IP addresses from the tailnet range and distributes the network map (which peer may reach which) to all nodes.
  • Data plane (WireGuard): The actual traffic does not flow through Headscale but as a direct, encrypted WireGuard tunnel between peers. Clients use NAT traversal to find a direct peer-to-peer route wherever possible. More on the data plane in our WireGuard expertise.
  • DERP relays: When no direct connection is possible (strict NAT, firewalls), the tunnel runs over a DERP relay. Headscale ships an embedded DERP server and can additionally fall back to Tailscale's public DERP relays. Because WireGuard is end-to-end encrypted, the relay only ever sees ciphertext.
  • ACLs and MagicDNS: Access is governed by an ACL policy (which users and groups may reach which destinations and ports). MagicDNS resolves nodes by name instead of IP. Devices can register via OpenID Connect (OIDC) single sign-on; on top of that, exit nodes, subnet routers and Tailscale SSH are supported.

Current version and license

Headscale is released under the permissive BSD-3-Clause license, making it fully free and open source. The current stable version is v0.29.1, dated 18 June 2026 (releases). The project is maintained by Juan Font Alonso and Kristoffer Dalby; one maintainer is employed by Tailscale and is allowed to contribute during work hours, with the other maintainers reviewing his contributions. The project is explicitly not affiliated with Tailscale Inc.

Important for expectations: Headscale deliberately keeps a narrow feature scope - a single tailnet, intended for self-hosters, hobbyists and small (open-source) organisations. It is not a drop-in replacement for every enterprise feature of the Tailscale cloud.

Headscale vs. Tailscale

Both worlds share the same data plane (WireGuard) and the same official Tailscale clients. The difference lies solely in the control plane:

  • Tailscale: The coordination server is proprietary and offered only as a managed cloud service. Convenient, but the control plane sits with the vendor.
  • Headscale: An open-source reimplementation of exactly that server that you host yourself. You simply point the Tailscale client at your Headscale instance (login-server flag) instead of the Tailscale cloud.

In practice you get Tailscale's mature client experience - including MagicDNS, exit nodes and Tailscale SSH - while keeping key distribution, routes, access rules and audit data inside your own infrastructure. Our Headscale expertise goes deeper into deployment and operations.

Headscale vs. NetBird

Headscale and NetBird solve a similar problem (self-hosted WireGuard mesh with central control) but approach it differently:

  • Headscale is a pure control server. It only replaces the Tailscale coordination server and leans entirely on the Tailscale ecosystem and its official clients. It has no official web UI - administration runs via CLI and configuration file. Dashboards exist only as community projects (for example headscale-ui, Headplane, headscale-admin) that are not maintained by the authors.
  • NetBird is a full platform. It brings its own clients, a web dashboard, built-in identity / OIDC IdP integration, access policies, posture checks and a Kubernetes operator. More on that in our NetBird expertise.

Rule of thumb: Headscale is the lean, Tailscale-compatible control plane for CLI-minded operators; NetBird is the batteries-included platform when you want UI, IdP and policy management from a single source.

Self-hosted instead of cloud: what you gain

The core benefit of Headscale is sovereignty. You run the coordination server yourself - typically on a small VM - and keep full control over:

  • Keys and membership: Only your instance decides which devices belong to the tailnet.
  • Data location: The control plane and its metadata stay in your infrastructure, for example inside the EU - relevant for regulation such as the NIS2 directive. This article is general information, not legal advice.
  • No external dependency: Your network works independently of a cloud vendor's availability or pricing.

The trade-off is operational responsibility: updates, database backups, reachability of the control server and, if needed, your own DERP server are on you.

Headscale vs. Tailscale vs. NetBird vs. plain WireGuard

Criterion Headscale Tailscale NetBird Plain WireGuard
Control plane open-source reimplementation proprietary, cloud-only open source, self-hostable none
License BSD-3-Clause clients BSD-3, control plane SaaS BSD-3 (clients) + AGPLv3 (server) GPLv2
Data plane WireGuard WireGuard WireGuard WireGuard
Clients official Tailscale clients Tailscale clients own NetBird clients wg / wg-quick
Web dashboard no (community UIs) yes yes no
SSO / IdP OIDC (device registration) yes yes (OIDC, built-in) no
Access rules ACL policy yes yes (default-deny) manual (AllowedIPs)
Target audience self-hosters, small orgs teams/enterprise (cloud) teams/enterprise (self-hosted) static topologies

When Headscale, when NetBird, when plain WireGuard

  • Headscale, when you value the mature Tailscale client experience but want to self-host the control plane and are comfortable with CLI and config-file operations. Ideal for homelabs, small organisations and sovereignty-driven setups with a manageable number of nodes.
  • NetBird, when you need a complete self-hosted platform with a web dashboard, built-in IdP, fine-grained policies, posture checks and Kubernetes integration - without having to manage Tailscale client compatibility yourself.
  • Plain WireGuard, when your topology is small and static - a handful of fixed point-to-point or site-to-site links without dynamic membership management. Our guide WireGuard for site connectivity shows what that looks like in practice.

Use cases and our take at WZ-IT

Headscale is a strong choice when Tailscale's mechanics convince you but depending on the Tailscale cloud is off the table. In typical scenarios it connects distributed servers, edge devices and admin access into one private mesh through which technicians reach SSH, RDP or web interfaces - without open inbound ports at the site.

At WZ-IT we build sovereign remote-management and remote-maintenance platforms on a self-hosted WireGuard mesh as the network backend, combined with an auditable access layer (browser gateway, RBAC, audit trail). Whether Headscale, NetBird or plain WireGuard is the right control plane depends on node count, ease of use and compliance requirements - we choose per project. Our ABCO Water Systems case study shows what that looks like in production for distributed plants in Australia. On request we handle design, build and operations end to end as part of our remote-management platforms.

Further guides

Want to self-host the control plane instead of handing it over? Get to know us or take a look at our remote-management platforms.

You'd rather not run Remote Access yourself? WZ-IT handles setup, operations and maintenance – GDPR-compliant from Germany.

Frequently Asked Questions

Answers to the most important questions

Headscale is an open-source, self-hosted implementation of the Tailscale control server, the coordination server. It builds a WireGuard-based mesh network without making you depend on the Tailscale cloud. You run the control server yourself and connect devices into one private network (tailnet) using the official Tailscale clients.

Yes. Headscale is released under the permissive BSD-3-Clause license and is free. The current version is v0.29.1 (18 June 2026). The project is not affiliated with Tailscale Inc. and is maintained by Juan Font Alonso and Kristoffer Dalby; one maintainer is employed by Tailscale.

Both use WireGuard as the data plane and the same official Tailscale clients. Tailscale's coordination server is proprietary and runs cloud-only. Headscale is an open-source reimplementation of exactly that server that you host yourself. The control plane (key distribution, routes, access rules) stays under your own control.

Headscale only replaces the Tailscale control server and reuses the official Tailscale clients; it deliberately has a narrow feature scope and no official web UI. NetBird is a full, standalone platform with its own clients, a web dashboard and built-in identity/OIDC integration. Both use WireGuard as the data plane.

No. Headscale ships no built-in web interface; administration runs via CLI and a configuration file. Several community projects such as headscale-ui, Headplane or headscale-admin add a dashboard, but they are not maintained by the Headscale authors.

Headscale uses the official, unmodified Tailscale clients for Linux, Windows, macOS, iOS and Android. You point the client at your Headscale instance via a login-server flag instead of the Tailscale cloud. Features such as MagicDNS, exit nodes, subnet routers and Tailscale SSH are supported.

Headscale fits when you want the Tailscale client experience but self-hosted control and are comfortable with CLI operations. NetBird fits when you need a complete self-hosted platform with dashboard, IdP and policies. Plain WireGuard fits small, static point-to-point or site-to-site links without dynamic membership management.

Let's Talk About Your Idea

Whether a specific IT challenge or just an idea - we look forward to the exchange. In a brief conversation, we'll evaluate together if and how your project fits with WZ-IT.

E-Mail
[email protected]

Leading companies trust WZ-IT

  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • NextGym
  • Maho Management
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy
  • Negosh
  • ABCO Water Systems
Timo Wevelsiep & Robin Zins - CEOs of WZ-IT

Timo Wevelsiep & Robin Zins

Managing Directors of WZ-IT

1/3 - Topic Selection33%

What is your inquiry about?

Select one or more areas where we can support you.