本地docker部署rustdesk踩坑记录
需要的东西:
已安装docker的本地服务器(群晖、威联通啥的Linux服务器,win的我没试过)
域名(域名控制台已设置好域名解析,本地也设置好DDNS)如:xxx.com
路由器设置端口转发(按照官方建议端口即21115-21119的TCP和UDP,当然设置容器时网络用hosts,非得用桥接的话容器映射出来的端口也是要相同的例如21115:21115,不要改不同的,除非真的很懂)
教程可直接参考官方教程里的群晖安装步骤即可,现在记录一下本人踩坑的注意点。
docker镜像建议使用:rustdesk/rustdesk-server:1.1.6(注意不是最新版本),貌似最新有坑,别问我,我也是听别人说的,1.1.6又不是不能用。
创建的两个容器hbbr和hbbs都需要把/root映射出来,目的就是为了查看管理密钥文件id_ed25519 和 id_ed25519.pub 。最关键的一步来了,映射出来的文件夹不能分为两个文件夹,请务必在本地创建一个/rustdesk的文件夹,然后把两个容器hbbr和hbbs的/root都映射到本地/rustdesk里去,是二对一的关系,为什么要这么做?是为了保持两个容器中的管理密钥文件id_ed25519 和 id_ed25519.pub 是一致的,不一致的话会出现奇怪的问题(连不上)
hbbs容器设置需要设置命令:
hbbs -r <your_domain>:<hbbr_port> # 填入个人域名或 IP + hbbr 暴露端口。
-r后面填域名不用带端口(因为在路由器的端口转发都是使用官方建议的端口,填了这个-r参数,后面客户端就不用填中继服务器那一行了)例子:hbbs -r xxx.com
建议在hbbs和hbbr里面设置命令后缀都带上“ -k _”(注意空格),官方也有说,带这个后缀,客户端必须带key才能使用,防止被其他人使用。
hbbs命令例子:hbbs -r xxx.com -k _
hbbr命令例子:hbbr -k _
客户端 ID/中继服务器 设置注意点:因为使用并映射了官方建议的端口,域名后面不用带端口号,因为设置hbbs命令是增加了-r的部分,中继服务器不用填,由客户端自行推导。因为hbbs命令后缀增加了 -k _的部分,key是必填项,从映射出来的文件夹里面的id_ed25519.pub找到key填进去就行。
本地内网的win客户端记得在win或者路由器的hosts里增加xxx.com域名指向到docker服务器的ip(别问,我也不知道为啥,貌似是为了解决本地内网ping域名问题?)
例如:192.168.1.5 xxx.com
