Open stazeng opened 1 year ago
非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?
非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?
如果你对docker-compose了解话,完全可以在一个yaml配置文件实现2个容器运行的。
请问楼主,这headscale-webui,运行下来,内存使用大概维持在多少呢?我想问一下,看下是否部署到paas平台上,是否超过免费配额。。
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
97cf135729d3 headscale-webui 0.00% 63.46MiB / 62.51GiB 0.10% 25.1MB / 44.9MB 778kB / 0B 14
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 97cf135729d3 headscale-webui 0.00% 63.46MiB / 62.51GiB 0.10% 25.1MB / 44.9MB 778kB / 0B 14
谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 97cf135729d3 headscale-webui 0.00% 63.46MiB / 62.51GiB 0.10% 25.1MB / 44.9MB 778kB / 0B 14
谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。
headscale自带derp容器,也支持第三方derp独立服务 参考这儿 如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量
metrics_listen_addr
的9090
没必要暴露出来吧,不太了解这个端口用来干嘛的
按照config.yaml
注释来说grpc_listen_addr
的50443
也应该暴露出来
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 97cf135729d3 headscale-webui 0.00% 63.46MiB / 62.51GiB 0.10% 25.1MB / 44.9MB 778kB / 0B 14
谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。
headscale自带derp容器,也支持第三方derp独立服务 参考这儿 如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量
我知道headscale自带derp,在免费的网页平台虽然支持docker部署,但是只有443可用,3478/udp没办法利用,想知道界面是否支持配置或者在线更新可用的,如果可以在线更新,那就很NEWB了。接下来找朋友用他的FRPS转发下3478/udp。
@iFargle I always don't quite understand whether the 5000 port
number in the DOMAIN-NAME
field must be written, or under what circumstances it must be written
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 97cf135729d3 headscale-webui 0.00% 63.46MiB / 62.51GiB 0.10% 25.1MB / 44.9MB 778kB / 0B 14
谢谢,我正在尝试把3个容器给做成一个compose.yaml(minio+headscale+headscale-webui),请问headscale-webui是否支持在线使用webui修改使用外部derp的配置并刷新配置?我打算把headscale-webui搭建在fly.io平台,但是fly.io没办法使用udp/3478的端口,所以我打算在openwrt路由器上转发这个3478/udp端口,这一点相对于使用公共节点更给力一些。
headscale自带derp容器,也支持第三方derp独立服务 参考这儿 如果你打算在自己本地部署derp中继服务,我认为需要有动态公网ipv4或者固定公网ipv4才行,如果只有ipv6的话可能无法中继不支持ipv6设备的流量
我知道headscale自带derp,在免费的网页平台虽然支持docker部署,但是只有443可用,3478/udp没办法利用,想知道界面是否支持配置或者在线更新可用的,如果可以在线更新,那就很NEWB了。接下来找朋友用他的FRPS转发下3478/udp。
界面上修改3478的可能性几乎为零,因为headacale没有提供相关接口,直接在config.yaml里修改derp的3478端口就可以了呀
headscale-webui
是基于headscale提供有限api接口实现的界面化操作,具体完整的api接口可访问HS_SERVER/swagger
,比如http://xxx.xxx.xx:8080/swagger
早点看到这个issue,就不用折腾好几天的headscale和webui才成功。
补充:命令用
docker exec headscale headscale ns list
docker exec -it headscale /bin/bash,当你选择-debug镜像时才加-it,这样会进入bash,接着用headscale ns list。没弄好webui时用debug删除节点的。
用docker没配置mynet,默认bridge填对SERVER和domain可以连接。
headscale-webui
key填openssl rand -base64 32
的值,加密本地保存的apikey。- DOMAIN_NAME填xx.x.x:5000,删除- SCRIPT_NAME=/admin。访问xx.x.x:5000输入user和PASS可以登录。
volumes:
- ./volume:/data
- ./headscale/config/:/etc/headscale/:ro
注意要运行chown 1000:1000 ./volume
,不然会提示权限不够无法保存。第二个 ./headscale/config/换成自己headscale配置文件的路径。
api-key复制到webui界面的Server Information下点save,会自动判断是否正确。开始点test提示错误,选save测试通过。
二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml 根据实际情况修改。 headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespace。
二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml 根据实际情况修改。 headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespaces。
感谢,我看看,你发的那个博客里面的代码只能显示9行10行。。拖动不成功。
二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml 根据实际情况修改。 headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespaces。
感谢,我看看,你发的那个博客里面的代码只能显示9行10行。。拖动不成功。
有帮助就好。那个博客长代码默认收起,底下中间有闪烁的朝下箭头,按下显示全部。或者右上角复制再修改。 headscale config.yaml里的enabled: true 启用自带derp。urls去 https://github.com/juanfont/headscale/blob/main/config-example.yaml 复制,注意格式。 翻了下前面,你可以看看自建derp。想整合在一起,可以看这个 https://www.jinnsblog.com/2020/12/docker-compose-tutorial.html 。测试单独docker-compose通过,services下添加。
请问各位有遇到节点rename的时候一直卡loading吗?我用的nginx反代
我headscale是二进制文件部署的,正常使用! 但是docker部署webbi时报错(这个文件地址绝对没错的) Error - /etc/headscale/config.yaml not readable /etc/headscale/config.yaml not readable. Please ensure your headscale configuration file resides in /etc/headscale and is named "config.yaml" or "config.yml"
关于整合版本我的想法是,里面包含了headscale和headscale-webui两个应用。 在headscale的配置文件中有这样一段代码是自定义derp服务的
#/etc/headscale/config.yaml
derp:
server:
enabled: false # 这里开启的话是使用自身的derp服务,因为我部署在fly.io上面,这个需要另外购买独立ip,我就不开了
urls:
- https://controlplane.tailscale.com/derpmap/default
auto_update_enabled: true
update_frequency: 24h
这个设想中derp服务是使用外部derp地址的 默认是使用 https://controlplane.tailscale.com/derpmap/default 如果这里改写成获取官方的json后加入自己的自定义地址 如果这个地址是http://127.0.0.1:5000/derpmap,这样可以实现修改并且不影响客户端使用默认的derp列表。 再者由于docker使用caddy做为监听443,只要caddy做好配置,可以设置访问管理入口为/admin,端口复用双应用。
结合各位大佬的经验整理的教程,https://www.amjun.com/1957.html
我在管理员权限的cmd中使用tailscale login --login-server http://..* --authkey ***** 来登录的时候,命令行在这里卡住了,但右下角win10消息弹窗提示TailscaIe Authentication Needed CIick the Tailscale icon to log in. 我按提示点击ts图标或者右键图标选择login也没有反应,全程没有打开浏览器跳转到登录界面,我还尝试了安卓端的ts客户端,也没法完成登录。 我在docker容器中将8080和9090端口暴露出来了,config.yaml中将serverurl替换成域名:8080,其余的127.0.0.1也都替换为了0.0.0.0,端口不变,portainer中查看logs也并无error,还能怎么排查下问题呢,和各位大佬请教下。
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。 服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)
那这个就很奇怪,因为我这是搭建有一段时间了,所以我怀疑是不是tailscale官方做了限制
方便说下你docker image和win客户端的版本吗
0.22.3 和 1.44.0
Headscale-WebUI访问输入用户名和密码后
页面报错: Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
后台提示这个: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xxx.yyy.com', port=443): Max retries exceeded with url: /health (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1002)'))) During handling of the above exception, another exception occurred: Traceback (most recent call last)
不能使用self-signed certificate的证书吗?zerossl的也不行吗
0.22.3 和 1.44.0
Headscale-WebUI访问输入用户名和密码后
页面报错: Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
后台提示这个: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xxx.yyy.com', port=443): Max retries exceeded with url: /health (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1002)'))) During handling of the above exception, another exception occurred: Traceback (most recent call last)
不能使用self-signed certificate的证书吗?zerossl的也不行吗
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。 服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)
一样的问题,但是不知道哪里出错了。
大概率配置问题,昨天有人博客给我留言也是这样
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
经过几天的摸索,从各种错误 一步一步排查,最终解决了,现提供参考:
适应场景: 1、有自己的域名,却没有稳定的真正的公网IP地址 2、已经跟运营商申请了动态公网地址,并通过类似DDNS-GO的工具做了自动解析 3、证书通过zeroSSL等类似的工具实现了自动更新 4、自己的路由器支持端口转发 5、已经部署好nginx 6、按照headscale官网教程完成了db.sqlite的创建及config-example.yaml的获取(https://headscale.net/running-headscale-container/#configure-and-run-headscale) 7、客户端下载安装好Tailscale,直接用官方的就行,不需要用第三方修改的。(https://tailscale.com/download/)
符合以上场景的,可以直接无脑抄下述作业:
一、配置:
1、Docker Compose:
headscale的:
version: '3.6' services: headscale: container_name: headscale restart: always volumes: - '/dockermnt/headscale/config:/etc/headscale/' #按需更改自己的挂载目录 - '/dockermnt/headscale/data:/var/lib/headscale' #按需更改自己的挂载目录 ports: - '4050:8080' #自己喜欢映射到哪个端口就用哪个端口,对应的防火墙请放行 - '9090:9090' - '3478:3478/udp' command: 'headscale serve' networks: headscale: #自己定义的网络名,提前用docker network create 命令创建,自行查阅官网说明创建即可 ipv4_address: 172.32.0.11 #自己定义的静态ip地址,请注意:此地址为容器内地址 image: 'headscale/headscale:latest' #用最新版本即可 # image: 'headscale/headscale:0.22.3' cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 #声明已有网络 networks: headscale: external: true
headscale-webui的:
version: '3.3' services: headscale-webui: container_name: headscale-webui restart: always volumes: - '/dockermnt/headscale/config:/etc/headscale/:ro' #按需更改自己的挂载目录 - '/dockermnt/headscale/web-ui/data:/data:rw' #按需更改自己的挂载目录 user: root networks: headscale: ipv4_address: 172.32.0.22 #自己定义的静态ip地址,请注意:此地址为容器内地址,且与headscale共用同一个网络 ports: - '5000:5000' #自己喜欢映射到哪个端口就用哪个端口,对应的防火墙请放行 environment: - TZ=Asia/Shanghai - 'HS_SERVER=http://172.32.0.11:8080' #此处请指定headscale容器中配置的静态地址 - 'DOMAIN_NAME=https://aaa.bbb.com' #自己的域名 - SCRIPT_NAME=/admin - AUTH_TYPE=Basic - BASIC_AUTH_USER=xxx #登录用户 - BASIC_AUTH_PASS=xxxx #登录密码 - KEY=xxx #通过openssl rand -base64 32生成 image: 'ifargle/headscale-webui:latest' networks: headscale: external: true
2、Nginx Config:
headscale的nginx反代配置:
server { #自己定义一个ssl端口,不能与前面headscale容器映射出去的一样,在防火墙放行,同时在路由器做端口转发 listen 4051 ssl; #证书路径 ssl_certificate /etc/nginx/ssl/*.bbb.com.cer; ssl_certificate_key /etc/nginx/ssl/*.bbb.com.key; server_name bbb.com; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; client_max_body_size 10M; location / { #headscale容器所在宿主机的地址及容器映射出去的端口 proxy_pass http://10.0.0.111:4050; proxy_redirect https:// https://; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $server_name; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; proxy_buffering off; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; } }
headscale-webui的nginx反代配置:
server { #自己定义一个ssl端口,不能与前面headscale-webui容器映射出去的一样,在防火墙放行,同时在路由器做端口转发 listen 5100 ssl; #证书路径 ssl_certificate /etc/nginx/ssl/*.bbb.com.cer; ssl_certificate_key /etc/nginx/ssl/*.bbb.com.key; server_name bbb.com; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; client_max_body_size 10M; location /admin/ { #headscale-webui容器所在宿主机的地址及容器映射出去的端口 proxy_pass http://10.0.0.111:5000/admin/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
3、config.yaml(不要直接拷贝粘贴,对照名称逐项修改,我只列出来修改的项):
# 改成自己的域名+路由器转发的外网端口 server_url: https://aaa.bbb.com:4051 # 改成0.0.0.0:8080 listen_addr: 0.0.0.0:8080 # 改成0.0.0.0:9090 metrics_listen_addr: 0.0.0.0:9090 # 改成0.0.0.0:50443 grpc_listen_addr: 0.0.0.0:50443 ip_prefixes: - fd7a:115c:a1e0::/48 #改成自己喜欢的网络地址 - 10.77.0.0/24 derp: server: # 改成true enabled: true region_id: 999 region_code: "headscale" region_name: "Headscale Embedded DERP" # 改成0.0.0.0:3478 stun_listen_addr: "0.0.0.0:3478" urls: - https://controlplane.tailscale.com/derpmap/default # List of DNS servers to expose to clients. # 改成自己喜欢的DNS nameservers: - 223.5.5.5 - 114.114.114.114 # Defines the base domain to create the hostnames for MagicDNS. # 改成自己的域名 base_domain: aaa.bbb.com # 改成true randomize_client_port: true
二、使用
1、启动headscale后,执行命令创建用户、生成apikey、生成key
#创建用户 docker exec -it headscale headscale users create 自己的名字 #创建apikey #10000d 表示过期时间,尽量长点 docker exec -it headscale headscale apikeys create -e 10000d #创建preauthkeys #reusable 表示可以重复使用 docker exec -it headscale headscale preauthkeys create -e 10000d --reusable -u 自己的名字
2、网页端访问headscale-webui容器对应的域名地址,输入创建的apikey,点击Save验证
3、登录/注册设备 Windows端:
先按照官网文档修改注册表(https://headscale.net/windows-client/)
再在tailscale安装目录中执行命令行(powershell和cmd以及win11的终端都行,不需要管理员权限):
tailscale login --login-server https://headscale容器对应的域名:headscale端口 --authkey 前面创建的preauthkeys --accept-dns=false --accept-routes
Android:
运行Tailscale后,点右上角那三个点,一直点,直到出现Change server(https://headscale.net/android-client/) 然后点击Change server 修改server url为:config.yaml中的server_url,保存。再回到开始页点击Sign in
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
跟我的现象一模一样,你可以看看客户端的日志(C:\ProgramData\Tailscale\Logs\),里面应该是类似这样的错误:
error: fetch control key: Get "https://xxx/key?v=74": http: server gave HTTP response to HTTPS client
按照我上面写的内容操作就不会有问题,大概率是反代的端口跟容器映射出去的端口冲突了
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
跟我的现象一模一样,你可以看看客户端的日志(C:\ProgramData\Tailscale\Logs\),里面应该是类似这样的错误:
error: fetch control key: Get "https://xxx/key?v=74": http: server gave HTTP response to HTTPS client
按照我上面写的内容操作就不会有问题,大概率是反代的端口跟容器映射出去的端口冲突了
没有发生端口冲突,访问https://xxx.xxx.com/windows可以访问,headscale-webui也可以连接到headscale,唯独https://xxx.xxx.com无效。
安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?
安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?
可以的哈,v: aman-jun
不错楼主,国人真少啊
抱歉!因为英文不好,只能用中文写。分享出来希望能给一些人作参考。
我是在Oracle ARM VPS 上安装headscale+headscale-webui的
1、docker安装headscale服务器端容器
docker pull headscale/headscale:latest
创建目录
mkdir -p /docker/headscale mkdir -p /docker/headscale/conf mkdir -p /docker/headscale/data
下载配置文件模板
wget -O /docker/headscale/conf/config.yaml https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml
vi config.yaml,修改: server_url #修改为 127.0.0.1:8090 listen_addr #修改为:0.0.0.0:8090 #端口号根据自己需求改 metrics_listen_addr #修改为:0.0.0.0:9090 #端口号根据自己需求改 ...
/ 修改配置文件两个注意地方: a、hs的监听端口号,要和docker-compose.yaml里定义的端口一致,默认是8080,我改为了:8090。 b、没有部署中继服务器,但derp部分不能删除,把enabled项设为fasle即可,否则后面headscale-webui进行overview时会出现服务器错误。 /
到/docker/headscale目录下,创建docker-compose.yaml,内容如下:
version: '3.6' services:
headscale: image: headscale/headscale:latest container_name: headscale networks: mynet: #在下面网络部分那里声明是存在的网络名。 ipv4_address: 172.20.0.1 #只有先有(存在)了的网络,才能指定ip地址。 volumes:
mynet: # 网络名 external: true # 此处声明上面指定的网络名mynet是已经存在的网络
!!说明:有人在--cap_add部分,还添加了:- NET_RAW 和 - CAP_NET_BIND_SERVICE,其实这两个参数在docker中是默认开启的,因此这里不用指定。另外,“- CAP_NET_BINDSERVICE”写法是不对的,应该去掉“CAP”,即应该写为:- NET_BIND_SERVICE。
创建网络mynet和运行容器: docker network create -d bridge --subnet 172.20.0.0/24 --gateway 172.20.0.254 --ip-range 172.20.0.0/25 mynet cd /docker/headscale && docker-compose up -d
防火墙放行端口: 容器就创建成功后,需要Oracle VPS服务器上的安全列表(防火墙)中,放行headscale的8090端口(默认端口是8080)还有headscale-webui的端口5050。
一些命令: 查看namespace列表:docker exec -it headscale headscale ns list 创建namespace:docker exec -it headscale headscale ns create test-net 删除namespace:docker exec -it headscale headscale namespace destroy default 重命名namespace:docker exec -it headscale headscale namespace rename default myspace 生成api-key:docker exec -it headscale headscale apikey create | list
二、docker安装headscale-webui容器
docker pull ifargle/headscale-webui:latest mkdir /docker/headscale-webui
vi docker-compose.yaml,内容如下:
version: "3" services: headscale-webui: image: ifargle/headscale-webui:latest container_name: headscale-webui networks: mynet: ipv4_address: 172.20.0.2 environment:
以下是使用 Basic Auth 验证时的变量:
变量说明:注意! headscale-webui 容器 There are two "keys":
the KEY variable is used to encrypt your Headscale API key when it's written to disk (via the "Save" button on the Settings page) You enter your Headscale API key on the Settings page, click Save, then click Test to verify it works.
a、先使用docker exec -it headscale headscale apikeys create 生成一个API-KEY,比如: xx8BCRqjsg.5uhNpBohlpRRExxgxAsrR2I2c_Q4OIGxxxxxxxxx (注意!这要复制保存好,以后看不到了,否则要重新生成)。 b、将这个api-key复制到webui界面的Server Information下的输入框,然后点保存,会自动Test是否正确。
最后:cd /docker/headscale-webui && docker-compose up -d
至此,headscal服务器端和headscale-webui安装成功! 浏览:https://hscale.domain.com/admin,输入用户admin和密码。