Comments (34)
非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?
from headscale-webui.
非常感谢楼主分享,总算知道这个东西是不包含headscale的功能的,类似外部管理器,我想请问能否实现https://github.com/luislavena/homelab-headscale/blob/main/compose.yaml这样一个配置合并2个功能?实现一个容器就可以完成以上的操作?
如果你对docker-compose了解话,完全可以在一个yaml配置文件实现2个容器运行的。
from headscale-webui.
请问楼主,这headscale-webui,运行下来,内存使用大概维持在多少呢?我想问一下,看下是否部署到paas平台上,是否超过免费配额。。
from headscale-webui.
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
from headscale-webui.
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端口,这一点相对于使用公共节点更给力一些。
from headscale-webui.
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设备的流量
from headscale-webui.
metrics_listen_addr
的9090
没必要暴露出来吧,不太了解这个端口用来干嘛的
按照config.yaml
注释来说grpc_listen_addr
的50443
也应该暴露出来
from headscale-webui.
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。
from headscale-webui.
@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
from headscale-webui.
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
from headscale-webui.
早点看到这个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测试通过。
from headscale-webui.
二合一的docker-compose.yaml,示例 https://raw.githubusercontent.com/ywycd/My-actions/master/docker-compose.yaml
根据实际情况修改。
headscale配置看的 http://www.putianhui.cn/posts/2ac21da921f0 。headscale新版用user替换namespace。
from headscale-webui.
二合一的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行。。拖动不成功。
from headscale-webui.
二合一的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下添加。
from headscale-webui.
请问各位有遇到节点rename的时候一直卡loading吗?我用的nginx反代
from headscale-webui.
我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"
from headscale-webui.
关于整合版本我的想法是,里面包含了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,端口复用双应用。
from headscale-webui.
结合各位大佬的经验整理的教程,https://www.amjun.com/1957.html
from headscale-webui.
我在管理员权限的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,还能怎么排查下问题呢,和各位大佬请教下。
from headscale-webui.
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
from headscale-webui.
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。
服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)
from headscale-webui.
那这个就很奇怪,因为我这是搭建有一段时间了,所以我怀疑是不是tailscale官方做了限制
from headscale-webui.
方便说下你docker image和win客户端的版本吗
from headscale-webui.
0.22.3 和 1.44.0
from headscale-webui.
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的也不行吗
from headscale-webui.
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的也不行吗
from headscale-webui.
这个没遇到过,浏览器直接访问8080端口是什么情况,还有一个会不会是客户端版本问题
访问8080/windows是可以看到提示页面的,但我用安卓端和windows端都没办法连上去。 服务端的版本是latest(我以为是github release的0.22.3,但刚才查了一下docker hub上的0.22.3已经是4个月前的了),win客户端是1.48.1(最新的),安卓端没法看版本号,但也同样连不上自建服务器……(win和安卓端都可以连上ts官方服务器)
一样的问题,但是不知道哪里出错了。
from headscale-webui.
大概率配置问题,昨天有人博客给我留言也是这样
from headscale-webui.
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
from headscale-webui.
经过几天的摸索,从各种错误 一步一步排查,最终解决了,现提供参考:
适应场景:
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: trueheadscale-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: true2、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-routesAndroid:
运行Tailscale后,点右上角那三个点,一直点,直到出现Change server(https://headscale.net/android-client/)
然后点击Change server 修改server url为:config.yaml中的server_url,保存。再回到开始页点击Sign in
from headscale-webui.
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
跟我的现象一模一样,你可以看看客户端的日志(C:\ProgramData\Tailscale\Logs\),里面应该是类似这样的错误:
error: fetch control key: Get "https://xxx/key?v=74": http: server gave HTTP response to HTTPS client
按照我上面写的内容操作就不会有问题,大概率是反代的端口跟容器映射出去的端口冲突了
from headscale-webui.
大概率配置问题,昨天有人博客给我留言也是这样
你现在解决了吗?使用默认配置都有问题
跟我的现象一模一样,你可以看看客户端的日志(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无效。
from headscale-webui.
安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?
from headscale-webui.
安装了几个ui都连不上headscale,Docker和nginx安装都不得要领,能付费提供一下咨询吗?
可以的哈,v: aman-jun
from headscale-webui.
Related Issues (20)
- Stuck on "Loading basic auth libraries and configuring app" HOT 3
- Rename Machine to Node
- Documentation question HOT 1
- docker running error:SSL: CERTIFICATE_VERIFY_FAILED
- Could you setup a way to sponsor this project?
- WebUI Internal Server Error: HOT 3
- Gunicorn Worker Timeout HOT 2
- Problems with HAproxy reverse
- Bare Metal install fails on ubuntu 22.04 HOT 1
- SSL/TLS
- API calls to /machine are deprecated; use /node HOT 2
- Support configuration of SSH ACLs
- New user is not cleared after adding
- Cannot open /machines, /routes or /overview HOT 3
- State of project - Abandoned? HOT 2
- UID 1001 can't use for webui? HOT 1
- Internal Server Error on "machines" HOT 4
- How to run it in the background? HOT 2
- Define and access gui using localhost or 0.0.0.0
- Changes in LastSeen / Online fields in the Headscale API
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from headscale-webui.