Skip to content

Commit 9a86ffc

Browse files
authored
Misc doc fixes (#2562)
* Link to stable and development docs in the README * Add Tailscale SSH and autogroup:nonroot to features page * Use @ when referencing users in policy * Remove unmaintained headscale-webui The project seems to be unmaintained (last commit: 2023-05-08) and it only supports Headscale 0.22 or earlier. * Use full image URL in container docs This makes it easy to switch the container runtime from docker <-> podman. * Remove version from docker-compose.yml example This is now deprecated and yields a warning.
1 parent 45e38cb commit 9a86ffc

File tree

5 files changed

+32
-26
lines changed

5 files changed

+32
-26
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ An open source, self-hosted implementation of the Tailscale control server.
77
Join our [Discord server](https://discord.gg/c84AZQhmpx) for a chat.
88

99
**Note:** Always select the same GitHub tag as the released version you use
10-
to ensure you have the correct example configuration and documentation.
11-
The `main` branch might contain unreleased changes.
10+
to ensure you have the correct example configuration. The `main` branch might
11+
contain unreleased changes. The documentation is available for stable and
12+
development versions:
13+
14+
* [Documentation for the stable version](https://headscale.net/stable/)
15+
* [Documentation for the development version](https://headscale.net/development/)
1216

1317
## What is Tailscale
1418

docs/about/features.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ provides on overview of Headscale's feature and compatibility with the Tailscale
2222
- [x] Embedded [DERP server](https://tailscale.com/kb/1232/derp-servers)
2323
- [x] Access control lists ([GitHub label "policy"](https://github.com/juanfont/headscale/labels/policy%20%F0%9F%93%9D))
2424
- [x] ACL management via API
25-
- [x] Some [Autogroups](https://tailscale.com/kb/1396/targets#autogroups), currently: `autogroup:internet`
25+
- [x] Some [Autogroups](https://tailscale.com/kb/1396/targets#autogroups), currently: `autogroup:internet`,
26+
`autogroup:nonroot`
2627
- [x] [Auto approvers](https://tailscale.com/kb/1337/acl-syntax#auto-approvers) for [subnet
2728
routers](../ref/routes.md#automatically-approve-routes-of-a-subnet-router) and [exit
2829
nodes](../ref/routes.md#automatically-approve-an-exit-node-with-auto-approvers)
30+
- [x] [Tailscale SSH](https://tailscale.com/kb/1193/tailscale-ssh)
2931
* [ ] Node registration using Single-Sign-On (OpenID Connect) ([GitHub label "OIDC"](https://github.com/juanfont/headscale/labels/OIDC))
3032
- [x] Basic registration
3133
- [x] Update user profile from identity provider

docs/ref/acls.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ Here are the ACL's to implement the same permissions as above:
6464
// groups are collections of users having a common scope. A user can be in multiple groups
6565
// groups cannot be composed of groups
6666
"groups": {
67-
"group:boss": ["boss"],
68-
"group:dev": ["dev1", "dev2"],
69-
"group:admin": ["admin1"],
70-
"group:intern": ["intern1"]
67+
"group:boss": ["boss@"],
68+
"group:dev": ["dev1@", "dev2@"],
69+
"group:admin": ["admin1@"],
70+
"group:intern": ["intern1@"]
7171
},
7272
// tagOwners in tailscale is an association between a TAG and the people allowed to set this TAG on a server.
7373
// This is documented [here](https://tailscale.com/kb/1068/acl-tags#defining-a-tag)
@@ -181,11 +181,11 @@ Here are the ACL's to implement the same permissions as above:
181181

182182
// We still have to allow internal users communications since nothing guarantees that each user have
183183
// their own users.
184-
{ "action": "accept", "src": ["boss"], "dst": ["boss:*"] },
185-
{ "action": "accept", "src": ["dev1"], "dst": ["dev1:*"] },
186-
{ "action": "accept", "src": ["dev2"], "dst": ["dev2:*"] },
187-
{ "action": "accept", "src": ["admin1"], "dst": ["admin1:*"] },
188-
{ "action": "accept", "src": ["intern1"], "dst": ["intern1:*"] }
184+
{ "action": "accept", "src": ["boss@"], "dst": ["boss@:*"] },
185+
{ "action": "accept", "src": ["dev1@"], "dst": ["dev1@:*"] },
186+
{ "action": "accept", "src": ["dev2@"], "dst": ["dev2@:*"] },
187+
{ "action": "accept", "src": ["admin1@"], "dst": ["admin1@:*"] },
188+
{ "action": "accept", "src": ["intern1@"], "dst": ["intern1@:*"] }
189189
]
190190
}
191191
```

docs/ref/integration/web-ui.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Headscale doesn't provide a built-in web interface but users may pick one from t
99

1010
| Name | Repository Link | Description |
1111
| ---------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------ |
12-
| headscale-webui | [Github](https://github.com/ifargle/headscale-webui) | A simple headscale web UI for small-scale deployments. |
1312
| headscale-ui | [Github](https://github.com/gurucomputing/headscale-ui) | A web frontend for the headscale Tailscale-compatible coordination server |
1413
| HeadscaleUi | [GitHub](https://github.com/simcu/headscale-ui) | A static headscale admin ui, no backend environment required |
1514
| Headplane | [GitHub](https://github.com/tale/headplane) | An advanced Tailscale inspired frontend for headscale |

docs/setup/install/container.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77

88
**It might be outdated and it might miss necessary steps**.
99

10-
This documentation has the goal of showing a user how-to set up and run headscale in a container.
11-
[Docker](https://www.docker.com) is used as the reference container implementation, but there is no reason that it
12-
should not work with alternatives like [Podman](https://podman.io). The container image can be found on
13-
[Docker Hub](https://hub.docker.com/r/headscale/headscale) and
14-
[GitHub Container Registry](https://github.com/juanfont/headscale/pkgs/container/headscale).
10+
This documentation has the goal of showing a user how-to set up and run headscale in a container. A container runtime
11+
such as [Docker](https://www.docker.com) or [Podman](https://podman.io) is required. The container image can be found on
12+
[Docker Hub](https://hub.docker.com/r/headscale/headscale) and [GitHub Container
13+
Registry](https://github.com/juanfont/headscale/pkgs/container/headscale). The container image URLs are:
14+
15+
- [Docker Hub](https://hub.docker.com/r/headscale/headscale): `docker.io/headscale/headscale:<VERSION>`
16+
- [GitHub Container Registry](https://github.com/juanfont/headscale/pkgs/container/headscale):
17+
`ghcr.io/juanfont/headscale:<VERSION>`
1518

1619
## Configure and run headscale
1720

@@ -36,7 +39,7 @@ should not work with alternatives like [Podman](https://podman.io). The containe
3639
--volume "$(pwd)/run:/var/run/headscale" \
3740
--publish 127.0.0.1:8080:8080 \
3841
--publish 127.0.0.1:9090:9090 \
39-
headscale/headscale:<VERSION> \
42+
docker.io/headscale/headscale:<VERSION> \
4043
serve
4144
```
4245

@@ -48,11 +51,9 @@ should not work with alternatives like [Podman](https://podman.io). The containe
4851
A similar configuration for `docker-compose`:
4952

5053
```yaml title="docker-compose.yaml"
51-
version: "3.7"
52-
5354
services:
5455
headscale:
55-
image: headscale/headscale:<VERSION>
56+
image: docker.io/headscale/headscale:<VERSION>
5657
restart: unless-stopped
5758
container_name: headscale
5859
ports:
@@ -126,11 +127,11 @@ tailscale up --login-server <YOUR_HEADSCALE_URL> --authkey <YOUR_AUTH_KEY>
126127

127128
## Debugging headscale running in Docker
128129

129-
The `headscale/headscale` Docker container is based on a "distroless" image that does not contain a shell or any other debug tools. If you need to debug headscale running in the Docker container, you can use the `-debug` variant, for example `headscale/headscale:x.x.x-debug`.
130+
The Headscale container image is based on a "distroless" image that does not contain a shell or any other debug tools. If you need to debug headscale running in the Docker container, you can use the `-debug` variant, for example `docker.io/headscale/headscale:x.x.x-debug`.
130131

131132
### Running the debug Docker container
132133

133-
To run the debug Docker container, use the exact same commands as above, but replace `headscale/headscale:x.x.x` with `headscale/headscale:x.x.x-debug` (`x.x.x` is the version of headscale). The two containers are compatible with each other, so you can alternate between them.
134+
To run the debug Docker container, use the exact same commands as above, but replace `docker.io/headscale/headscale:x.x.x` with `docker.io/headscale/headscale:x.x.x-debug` (`x.x.x` is the version of headscale). The two containers are compatible with each other, so you can alternate between them.
134135

135136
### Executing commands in the debug container
136137

@@ -141,13 +142,13 @@ Additionally, the debug container includes a minimalist Busybox shell.
141142
To launch a shell in the container, use:
142143

143144
```shell
144-
docker run -it headscale/headscale:x.x.x-debug sh
145+
docker run -it docker.io/headscale/headscale:x.x.x-debug sh
145146
```
146147

147148
You can also execute commands directly, such as `ls /ko-app` in this example:
148149

149150
```shell
150-
docker run headscale/headscale:x.x.x-debug ls /ko-app
151+
docker run docker.io/headscale/headscale:x.x.x-debug ls /ko-app
151152
```
152153

153154
Using `docker exec -it` allows you to run commands in an existing container.

0 commit comments

Comments
 (0)