Headscale 安装配置

前提条件

  1. 具有公网ip的服务器
  2. 域名
  3. docker 环境

1. 准备工作

1.1 准备目录结构

1
2
headscale/config
headscale/data

1.2 下载配置文件

配置文件地址:https://github.com/juanfont/headscale/blob/main/config-example.yaml
下载后改成config.yaml,然后放到目录 headscale/config 下。

1.3 修改配置

config.yaml文件里有日志,自己照着改就行了(其实我啥也没改)

2. 容器部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
version: '3.5'
services:
headscale:
image: headscale/headscale:stable
network_mode: bridge
container_name: headscale
volumes: # 以下挂载目录自己根据情况改
- /var/docker/headscale/config:/etc/headscale
- /var/docker/headscale/data:/var/lib/headscale
ports: # headscale 映射端口
- 34751:8080
command: serve
restart: always
headscale-admin:
image: goodieshq/headscale-admin:latest
network_mode: bridge
restart: always
container_name: headscale-admin
ports: # web 映射端口
- 12983:80

3. 配置https

我用的 caddy,贴一个caddyfile配置:

1
2
3
4
headscale.example.com {
reverse_proxy * http://127.0.0.1:34751
reverse_proxy /admin* http://127.0.0.1:12983
}

4. 配置 headscale-admin

4.1 生成 api key

执行命令:docker exec headscale headscale apikeys create -e 720d 会生成一串 key。把这个复制下来。

4.2 网页设置

打开网页:http://服务器ip:12983/admin/settings/

API URL:填 http://服务器ip:34751
API KEY:填 刚刚生成的key。
OK,保存,接下来新建用户等操作就可以在网页上进行了