mirror of
https://github.com/juanfont/headscale.git
synced 2025-02-08 10:18:01 +09:00
Headscale implements a single tailnet
Separate the term "tailnet" from user and be more explicit about providing a single tailnet. Also be more explicit about users. Refer to "headscale users" when mentioning commandline invocations and use the term "local users" when discussing unix accounts. Fixes: #2335
This commit is contained in:
parent
8b92c017ec
commit
8c09afe20c
8 changed files with 35 additions and 34 deletions
12
README.md
12
README.md
|
@ -32,12 +32,12 @@ organisation.
|
||||||
|
|
||||||
## Design goal
|
## Design goal
|
||||||
|
|
||||||
Headscale aims to implement a self-hosted, open source alternative to the Tailscale
|
Headscale aims to implement a self-hosted, open source alternative to the
|
||||||
control server.
|
[Tailscale](https://tailscale.com/) control server. Headscale's goal is to
|
||||||
Headscale's goal is to provide self-hosters and hobbyists with an open-source
|
provide self-hosters and hobbyists with an open-source server they can use for
|
||||||
server they can use for their projects and labs.
|
their projects and labs. It implements a narrow scope, a _single_ Tailscale
|
||||||
It implements a narrow scope, a single Tailnet, suitable for a personal use, or a small
|
network (tailnet), suitable for a personal use, or a small open-source
|
||||||
open-source organisation.
|
organisation.
|
||||||
|
|
||||||
## Supporting Headscale
|
## Supporting Headscale
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
## What is the design goal of headscale?
|
## What is the design goal of headscale?
|
||||||
|
|
||||||
Headscale aims to implement a self-hosted, open source alternative to the [Tailscale](https://tailscale.com/)
|
Headscale aims to implement a self-hosted, open source alternative to the
|
||||||
control server.
|
[Tailscale](https://tailscale.com/) control server. Headscale's goal is to
|
||||||
Headscale's goal is to provide self-hosters and hobbyists with an open-source
|
provide self-hosters and hobbyists with an open-source server they can use for
|
||||||
server they can use for their projects and labs.
|
their projects and labs. It implements a narrow scope, a _single_ Tailscale
|
||||||
It implements a narrow scope, a _single_ Tailnet, suitable for a personal use, or a small
|
network (tailnet), suitable for a personal use, or a small open-source
|
||||||
open-source organisation.
|
organisation.
|
||||||
|
|
||||||
## How can I contribute?
|
## How can I contribute?
|
||||||
|
|
||||||
|
|
|
@ -14,12 +14,12 @@ Join our [Discord server](https://discord.gg/c84AZQhmpx) for a chat and communit
|
||||||
|
|
||||||
## Design goal
|
## Design goal
|
||||||
|
|
||||||
Headscale aims to implement a self-hosted, open source alternative to the Tailscale
|
Headscale aims to implement a self-hosted, open source alternative to the
|
||||||
control server.
|
[Tailscale](https://tailscale.com/) control server. Headscale's goal is to
|
||||||
Headscale's goal is to provide self-hosters and hobbyists with an open-source
|
provide self-hosters and hobbyists with an open-source server they can use for
|
||||||
server they can use for their projects and labs.
|
their projects and labs. It implements a narrow scope, a _single_ Tailscale
|
||||||
It implements a narrower scope, a single Tailnet, suitable for a personal use, or a small
|
network (tailnet), suitable for a personal use, or a small open-source
|
||||||
open-source organisation.
|
organisation.
|
||||||
|
|
||||||
## Supporting headscale
|
## Supporting headscale
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ Several Linux distributions and community members provide packages for headscale
|
||||||
the [official releases](./official.md) provided by the headscale maintainers. Such packages offer improved integration
|
the [official releases](./official.md) provided by the headscale maintainers. Such packages offer improved integration
|
||||||
for their targeted operating system and usually:
|
for their targeted operating system and usually:
|
||||||
|
|
||||||
- setup a dedicated user account to run headscale
|
- setup a dedicated local user account to run headscale
|
||||||
- provide a default configuration
|
- provide a default configuration
|
||||||
- install headscale as system service
|
- install headscale as system service
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ not work with alternatives like [Podman](https://podman.io). The Docker image ca
|
||||||
curl http://127.0.0.1:9090/metrics
|
curl http://127.0.0.1:9090/metrics
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Create a user ([tailnet](https://tailscale.com/kb/1136/tailnet/)):
|
1. Create a headscale user:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker exec -it headscale \
|
docker exec -it headscale \
|
||||||
|
|
|
@ -6,8 +6,8 @@ Both are available on the [GitHub releases page](https://github.com/juanfont/hea
|
||||||
## Using packages for Debian/Ubuntu (recommended)
|
## Using packages for Debian/Ubuntu (recommended)
|
||||||
|
|
||||||
It is recommended to use our DEB packages to install headscale on a Debian based system as those packages configure a
|
It is recommended to use our DEB packages to install headscale on a Debian based system as those packages configure a
|
||||||
user to run headscale, provide a default configuration and ship with a systemd service file. Supported distributions are
|
local user to run headscale, provide a default configuration and ship with a systemd service file. Supported
|
||||||
Ubuntu 20.04 or newer, Debian 11 or newer.
|
distributions are Ubuntu 20.04 or newer, Debian 11 or newer.
|
||||||
|
|
||||||
1. Download the [latest headscale package](https://github.com/juanfont/headscale/releases/latest) for your platform (`.deb` for Ubuntu and Debian).
|
1. Download the [latest headscale package](https://github.com/juanfont/headscale/releases/latest) for your platform (`.deb` for Ubuntu and Debian).
|
||||||
|
|
||||||
|
@ -46,13 +46,13 @@ Ubuntu 20.04 or newer, Debian 11 or newer.
|
||||||
|
|
||||||
!!! warning "Advanced"
|
!!! warning "Advanced"
|
||||||
|
|
||||||
This installation method is considered advanced as one needs to take care of the headscale user and the systemd
|
This installation method is considered advanced as one needs to take care of the local user and the systemd
|
||||||
service themselves. If possible, use the [DEB packages](#using-packages-for-debianubuntu-recommended) or a
|
service themselves. If possible, use the [DEB packages](#using-packages-for-debianubuntu-recommended) or a
|
||||||
[community package](./community.md) instead.
|
[community package](./community.md) instead.
|
||||||
|
|
||||||
This section describes the installation of headscale according to the [Requirements and
|
This section describes the installation of headscale according to the [Requirements and
|
||||||
assumptions](../requirements.md#assumptions). Headscale is run by a dedicated user and the service itself is managed by
|
assumptions](../requirements.md#assumptions). Headscale is run by a dedicated local user and the service itself is
|
||||||
systemd.
|
managed by systemd.
|
||||||
|
|
||||||
1. Download the latest [`headscale` binary from GitHub's release page](https://github.com/juanfont/headscale/releases):
|
1. Download the latest [`headscale` binary from GitHub's release page](https://github.com/juanfont/headscale/releases):
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ systemd.
|
||||||
sudo chmod +x /usr/local/bin/headscale
|
sudo chmod +x /usr/local/bin/headscale
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Add a dedicated user to run headscale:
|
1. Add a dedicated local user to run headscale:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo useradd \
|
sudo useradd \
|
||||||
|
|
|
@ -6,14 +6,14 @@ Headscale should just work as long as the following requirements are met:
|
||||||
recommended.
|
recommended.
|
||||||
- Headscale is served via HTTPS on port 443[^1].
|
- Headscale is served via HTTPS on port 443[^1].
|
||||||
- A reasonably modern Linux or BSD based operating system.
|
- A reasonably modern Linux or BSD based operating system.
|
||||||
- A dedicated user account to run headscale.
|
- A dedicated local user account to run headscale.
|
||||||
- A little bit of command line knowledge to configure and operate headscale.
|
- A little bit of command line knowledge to configure and operate headscale.
|
||||||
|
|
||||||
## Assumptions
|
## Assumptions
|
||||||
|
|
||||||
The headscale documentation and the provided examples are written with a few assumptions in mind:
|
The headscale documentation and the provided examples are written with a few assumptions in mind:
|
||||||
|
|
||||||
- Headscale is running as system service via a dedicated user `headscale`.
|
- Headscale is running as system service via a dedicated local user `headscale`.
|
||||||
- The [configuration](../ref/configuration.md) is loaded from `/etc/headscale/config.yaml`.
|
- The [configuration](../ref/configuration.md) is loaded from `/etc/headscale/config.yaml`.
|
||||||
- SQLite is used as database.
|
- SQLite is used as database.
|
||||||
- The data directory for headscale (used for private keys, ACLs, SQLite database, …) is located in `/var/lib/headscale`.
|
- The data directory for headscale (used for private keys, ACLs, SQLite database, …) is located in `/var/lib/headscale`.
|
||||||
|
|
|
@ -41,13 +41,14 @@ options, run:
|
||||||
headscale <COMMAND> --help
|
headscale <COMMAND> --help
|
||||||
```
|
```
|
||||||
|
|
||||||
## Manage users
|
## Manage headscale users
|
||||||
|
|
||||||
In headscale, a node (also known as machine or device) is always assigned to a specific user, a
|
In headscale, a node (also known as machine or device) is always assigned to a
|
||||||
[tailnet](https://tailscale.com/kb/1136/tailnet/). Such users can be managed with the `headscale users` command. Invoke
|
headscale user. Such a headscale user may have many nodes assigned to them and
|
||||||
the built-in help for more information: `headscale users --help`.
|
can be managed with the `headscale users` command. Invoke the built-in help for
|
||||||
|
more information: `headscale users --help`.
|
||||||
|
|
||||||
### Create a user
|
### Create a headscale user
|
||||||
|
|
||||||
=== "Native"
|
=== "Native"
|
||||||
|
|
||||||
|
@ -62,7 +63,7 @@ the built-in help for more information: `headscale users --help`.
|
||||||
headscale users create <USER>
|
headscale users create <USER>
|
||||||
```
|
```
|
||||||
|
|
||||||
### List existing users
|
### List existing headscale users
|
||||||
|
|
||||||
=== "Native"
|
=== "Native"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue