Skip to content

Commit 2194900

Browse files
committed
docs(headscale): tailscale cli, headscale gui
1 parent 107e6ec commit 2194900

1 file changed

Lines changed: 34 additions & 1 deletion

File tree

Headscale.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,42 @@ Provide a tailnet policy file by specifying a filename to the `acl_policy_path`
6767

6868
Note that `Headscale` will fail to start if provided a policy file with zero ACL's inside of it—even an empty `acls` array is not sufficient.
6969

70-
## CLI Notes
70+
## Tailscale CLI
71+
72+
Tailscale ships with two command line tools.
73+
These are installed on nodes that participate in the tailnet:
74+
75+
* `tailscaled`, a daemon which manages networking and usually is not interacted with. [Flags that can be passed here][6a].
76+
* `tailscale`, the CLI to manage the tailscale network, login, logout, etc. [Command reference here][6b].
77+
78+
### CLI Notes
7179

7280
* Currently, it is only possible to expire API keys generated from the Headscale server, not delete them.
7381
Deleting keys involves [modifying the contents of the SQLite database][7] Headscale uses to store information within.
7482
However, this [feature has been landed][8] on the main branch for the next release.
7583

84+
## Headscale UI
85+
86+
Headscale does not ship with a native GUI, you can self-host [headscale-ui][9]—a third-party GUI for the headscale project—instead.
87+
This is a static site that is expected to be hosted from the same subdomain that the Headscale control server runs on, under the `web/` subdirectory.
88+
Built with svelte, it can be initialised with:
89+
90+
```bash
91+
npm install
92+
npm run build
93+
```
94+
95+
And then served over `nginx` via:
96+
97+
```nginx
98+
location /web {
99+
alias /var/www/headscale-ui-2024.02.24-beta1/build/;
100+
index index.html;
101+
}
102+
```
103+
104+
Provide it with an API key to address your headscale control server by generating one with `sudo headscale apikeys create`.
105+
76106
## Usage with Fly.io
77107

78108
* How to run tailscale in an image for fly.io?
@@ -85,8 +115,11 @@ Note that `Headscale` will fail to start if provided a policy file with zero ACL
85115
[4]: https://tailscale.com/kb/1065/macos-variants#comparison-table
86116
[5]: https://github.com/tailscale/hujson
87117
[6]: https://nigeltao.github.io/blog/2021/json-with-commas-comments.html
118+
[6a]: https://tailscale.com/kb/1278/tailscaled#flags-to-tailscaled
119+
[6b]: https://tailscale.com/kb/1080/cli#command-reference
88120
[7]: https://github.com/juanfont/headscale/issues/1667#issuecomment-1951606032
89121
[8]: https://github.com/juanfont/headscale/pull/1702
122+
[9]: https://github.com/gurucomputing/headscale-ui
90123

91124

92125
TODOS:

0 commit comments

Comments
 (0)