Improve Docker docs

- Fix URLs referring to files in this repository
- Better explain that we are creating the headscale directory and running the commands on the host Docker node
- Place instructions to download example config file to use as config file, as recommended steps.
This commit is contained in:
JJGadgets 2022-01-06 14:10:28 +08:00 committed by GitHub
parent 42bed58329
commit d971cf1295
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,31 +7,44 @@ it is up to date, or working.
This documentation has the goal of showing a user how-to set up and run `headscale` in a container.
[Docker](https://www.docker.com) is used as the reference container implementation, but there is no reason that it should
not work with alternatives like [Podman](https://podman.io).
not work with alternatives like [Podman](https://podman.io). The Docker image can be found on Docker Hub [here](https://hub.docker.com/r/headscale/headscale).
## Configure and run `headscale`
1. Prepare a direction to hold `headscale` configuration and the [SQLite](https://www.sqlite.org/) database:
1. Prepare a directory on the host Docker node in your directory of choice, used to hold `headscale` configuration and the [SQLite](https://www.sqlite.org/) database:
```shell
mkdir config
mkdir ./headscale && cd ./headscale
mkdir ./config
```
2. Create an empty SQlite datebase:
2. Create an empty SQlite datebase in the headscale directory:
```shell
touch config/db.sqlite
touch ./config/db.sqlite
```
3. Create a `headscale` configuration:
3. **(Strongly Recommended)** Download a copy of the [example configuration](../config-example.yaml) from the [headscale repository](https://github.com/juanfont/headscale/).
Using wget:
```shell
wget -O ./config/config.yaml https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml
```
Using curl:
```shell
curl https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -o ./config/config.yaml
```
**(Advanced)** If you would like to hand craft a config file **instead** of downloading the example config file, create a blank `headscale` configuration in the headscale directory to edit:
```shell
touch config/config.yaml
touch ./config/config.yaml
```
It is **strongly recommended** to copy the [example configuration](../config.yaml) from the [headscale repository](../)
Modify the config file to your preferences before launching Docker container.
4. Start the headscale server:
4. Start the headscale server while working in the host headscale directory:
```shell
docker run \