You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-9Lines changed: 31 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,27 @@
1
-
# headscale
1
+
# Headscale
2
2
An open source implementation of the Tailscale coordination server.
3
3
4
4
5
-
## Disclaimer
5
+
## Status
6
+
7
+
-[x] Basic functionality (nodes can communicate with each other)
8
+
-[x] Node registration through the web flow
9
+
-[x] Network changes are relied to the nodes
10
+
-[ ] Node registration via pre-auth keys
11
+
-[ ] Multiuser support
12
+
-[ ] ACLs
13
+
-[ ] DNS
14
+
15
+
... and probably lots of stuff missing
16
+
17
+
## Roadmap 🤷
18
+
19
+
Adding multiuser support seems doable. Rather than actual users, this multi-tenancy will probably look more like namespaces in Kubernetes - a logical partitioning of resources created with a CLI.
20
+
21
+
Pre-auth keys should also be feasible.
22
+
23
+
Suggestions/PRs welcomed!
6
24
7
-
1. I have nothing to do with Tailscale, or Tailscale Inc. Just a fan of their tech.
8
-
2. The purpose of writing this was to learn a bit how Tailscale works. Hence the emojis in the log messages and other terrible code.
9
-
3. I don't use Headscale myself (their Solo plan + DERP infra is way more convenient).
10
-
4. Headscale adds all the machines under the same user. Be careful!
11
25
12
26
13
27
## Running it
@@ -17,7 +31,7 @@ An open source implementation of the Tailscale coordination server.
17
31
go build cmd/headscale/headscale.go
18
32
```
19
33
20
-
2. Get youself a PostgreSQL DB running.
34
+
2. Get youself a PostgreSQL DB running (yes, [I know](https://tailscale.com/blog/an-unlikely-database-migration/))
21
35
22
36
```shell
23
37
docker run --name headscale -e POSTGRES_DB=headscale -e \
@@ -27,7 +41,7 @@ An open source implementation of the Tailscale coordination server.
27
41
3. Sort some stuff up (headscale Wireguard keys & the config.json file)
28
42
```shell
29
43
wg genkey > private.key
30
-
wg pubkey < private.key > public.key #although not strictly needed
44
+
wg pubkey < private.key > public.key # not needed
31
45
cp config.json.example config.json
32
46
```
33
47
@@ -41,9 +55,17 @@ An open source implementation of the Tailscale coordination server.
41
55
tailscale up -login-server YOUR_HEADSCALE_URL
42
56
```
43
57
44
-
6. Navigate to the URL you will get with `tailscale up`, where you can find your machine key.
58
+
6. Navigate to the URL you will get with `tailscale up`, where you'll find your machine key.
45
59
46
60
7. Register your machine using the headscale CLI
47
61
```shell
48
62
./headscale register YOURMACHINEKEY
49
63
```
64
+
65
+
66
+
## Disclaimer
67
+
68
+
1. I have nothing to do with Tailscale, or Tailscale Inc.
69
+
2. The purpose of writing this was to learn how Tailscale works.
0 commit comments