juanfont /headscale

An open source, self-hosted implementation of the Tailscale control server

★ 45,542⑂ 2,633👁 212⑃ 2,264● 1,393▤ 144◈ 0
GoBSD-3-ClauseCreated 2020-06-21
45,542
stars
+42
2,633
forks
212
watchers
2,264
prs
1,393
issues
144
releases
0
discussions

README

!headscale logo

!ci

An open source, self-hosted implementation of the Tailscale control server.

Join our Discord server for a chat.

Note: Always select the same GitHub tag as the released version you use
to ensure you have the correct example configuration. The main branch might
contain unreleased changes. The documentation is available for stable and
development versions:

- Documentation for the stable version
- Documentation for the development version

 What is Tailscale

Tailscale is a modern VPN built on top of
Wireguard.
It works like an overlay network
between the computers of your networks - using
NAT traversal.

Everything in Tailscale is Open Source, except the GUI clients for proprietary OS
(Windows and macOS/iOS), and the control server.

The control server works as an exchange point of Wireguard public keys for the
nodes in the Tailscale network. It assigns the IP addresses of the clients,
creates the boundaries between each user, enables sharing machines between users,
and exposes the advertised routes of your nodes.

A Tailscale network (tailnet) is
private network which Tailscale assigns to a user in terms of private users or an
organisation.

 Design goal

Headscale aims to implement a self-hosted, open source alternative to the
Tailscale control server. Headscale's goal is to
provide self-hosters and hobbyists with an open-source server they can use for
their projects and labs. It implements a narrow scope, a _single_ Tailscale
network (tailnet), suitable for a personal use, or a small open-source
organisation.

 Supporting Headscale

If you like headscale and find it useful, there is a sponsorship and donation
buttons available in the repo.

 Features

Please see "Features" in the documentation.

 Client OS support

Please see "Client and operating system support" in the documentation.

 Running headscale

Please note that we do not support nor encourage the use of reverse proxies
and container to run Headscale.

Please have a look at the documentation.

For NixOS users, a module is available in nix/.

 Builds from main

Development builds from the main branch are available as container images and
binaries. See the development builds
documentation for details.

 Talks

- Fosdem 2026 (video): Headscale & Tailscale: The complementary open source clone
  - presented by Kristoffer Dalby
- Fosdem 2023 (video): Headscale: How we are using integration testing to reimplement Tailscale
  - presented by Juan Font Alonso and Kristoffer Dalby

 Disclaimer

This project is not associated with Tailscale Inc.

However, one of the active maintainers for Headscale is employed by Tailscale and he is allowed to spend work hours contributing to the project. Contributions from this maintainer are reviewed by other maintainers.

The maintainers work together on setting the direction for the project. The underlying principle is to serve the community of self-hosters, enthusiasts and hobbyists - while having a sustainable project.

 Contributing

Top issues

Latest release

v0.29.7 v0.29.7 2026-10-30
Minimum supported Tailscale client version: v1.80.0

 Security

This is a security release. It fixes findings from Anthropic's oss-scanner project and
the Tailworm report. None are critical, but some can cause denial of service in
Headscale. We recommend that all users upgrade to Headscale 0.29.7 and Tailscale
v1.104.4 or newer as soon as possible, especially those using Tailscale SSH.

Tailscale v1.104.4 fixes vulnerabilities in SSH forwarding, SSH session handling and
Serve. These fixes run in tailscaled on your nodes; upgrading Headscale alone does
not apply them.

See Tailscal

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON