Running headscale on Linux¶
Requirements¶
- Ubuntu 20.04 or newer, Debian 11 or newer.
Goal¶
Get Headscale up and running.
This includes running Headscale with systemd.
Migrating from manual install¶
If you are migrating from the old manual install, the best thing would be to remove the files installed by following the guide in reverse.
You should not delete the database (/var/lib/headscale/db.sqlite
) and the configuration (/etc/headscale/config.yaml
).
Installation¶
-
Download the latest Headscale package for your platform (
.deb
for Ubuntu and Debian).HEADSCALE_VERSION="" # See above URL for latest version, e.g. "X.Y.Z" (NOTE: do not add the "v" prefix!) HEADSCALE_ARCH="" # Your system architecture, e.g. "amd64" wget --output-document=headscale.deb \ "https://github.com/juanfont/headscale/releases/download/v${HEADSCALE_VERSION}/headscale_${HEADSCALE_VERSION}_linux_${HEADSCALE_ARCH}.deb"
-
Install Headscale:
-
Enable Headscale service, this will start Headscale at boot:
-
Configure Headscale by editing the configuration file:
-
Start Headscale:
-
Check that Headscale is running as intended:
Using Headscale¶
Create a user¶
Register a machine (normal login)¶
On a client machine, run the tailscale
login command:
Register the machine:
Register machine using a pre authenticated key¶
Generate a key using the command line:
This will return a pre-authenticated key that is used to connect a node to headscale
during the tailscale
command: