自建 RustDesk 远程桌面服务器

RustDesk 是一款免费的开源远程桌面软件,可以在不同平台之间进行高效的桌面控制。它的特点在于不仅支持端到端加密,同时也能够在低延迟的网络环境下进行远程桌面连接。与传统的远程桌面软件相比,RustDesk 不依赖于云服务提供商,意味着你可以完全掌控自己的远程桌面服务
RustDesk 轻松远程控制各类设备,开源、安全且无需担心数据泄露:完全掌控您的数据和隐私
官网地址:https://rustdesk.com/zh-cn/

一,项目介绍

一款开源远程桌面应用程序,专为自托管而设计,可替代 TeamViewer,向日葵,和todesk
RustDesk 的开发者不认可或支持任何不道德或非法使用本软件的行为。未经授权的访问、控制或侵犯隐私等滥用行为均严格违反我们的准则。对于任何滥用本应用程序的行为,开发者概不负责。
项目github地址:https://github.com/rustdesk/rustdesk
自定义 Rustdesk API 服务器,包括 Web 管理后台、Web 客户端、Web 客户端 v2 预览版和 OIDC 登录
https://github.com/lejianwen/rustdesk-api

自建 RustDesk 远程服务器
自建 RustDesk 远程服务器

二,部署方法:使用Docker安装

1,Docker环境部署在vps安装docker和docker-compose
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://docs.docker.com/get-started/get-docker/
Docker-Compose官方安装文档(英文)
https://docs.docker.com/compose/install/
Centos安装Docker和Docker-compose(中文)
https://www.yyzq.eu.org/?id=101
Ubuntu安装Docker和Docker-compose(中文)
https://www.yyzq.eu.org/?id=174
2,docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
  • 配置相关端口说明
端口说明:
自行放开以下端口的防火墙
21114 (TCP):用于网页控制台,仅在 Pro 版本中可用。

21115 (TCP):用于 NAT 类型测试。

21116 (TCP/UDP):请注意 21116 应该同时为 TCP 和 UDP 启用。

21116/UDP 用于 ID 注册和心跳服务。

21116/TCP 用于 TCP 打洞和连接服务。

21117 (TCP):用于中继服务。

21118 (TCP):用于支持网页客户端。

21119 (TCP):用于支持网页客户端
3,创建docker-compose.yml文件

在root下创建目录ruestdesk

mkdir  rustdesk;cd rustdesk

docker-compose.yml模板

services:
  rustdesk:
    ports:
      - 21114:21114  # 映射 21114 端口 (TCP):用于网页控制台,仅在 Pro 版本中可用。
      - 21115:21115  # 映射 21115 端口 (TCP):用于 NAT 类型测试。
      - 21116:21116  # 映射 21116 端口 (TCP/UDP):用于 ID 注册和心跳服务 (UDP),以及 TCP 打洞和连接服务 (TCP)。需要同时启用 TCP 和 UDP。
      - 21116:21116/udp  # 映射 21116 端口 (UDP):用于 ID 注册和心跳服务。
      - 21117:21117  # 映射 21117 端口 (TCP):用于中继服务。
      - 21118:21118  # 映射 21118 端口 (TCP):用于支持网页客户端。
      - 21119:21119  # 映射 21119 端口 (TCP):用于支持网页客户端。
    image: lejianwen/rustdesk-server-s6:latest  # 使用的镜像
    environment:
      - RELAY=http://服务器IP或域名:21117  # 设置中继服务器地址
      - ENCRYPTED_ONLY=1  # 启用加密模式
      - MUST_LOGIN=N  # 是否必须登录才能远程,N表示不强制登录
      - TZ=Asia/Shanghai  # 设置时区为上海
      - RUSTDESK_API_RUSTDESK_ID_SERVER=http://服务器IP或域名:21116  # 设置 ID 服务器地址
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=http://服务器IP或域名:21117  # 设置中继服务器地址
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://服务器IP或域名:21114  # 设置 API 服务器地址
      - RUSTDESK_API_RUSTDESK_WS_HOST=http://服务器IP或域名:21114  # 设置 WebSocket 服务器地址
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub  # API 密钥文件路径
      - RUSTDESK_API_JWT_KEY=  # JWT 密钥,留空表示不启用
      - RUSTDESK_API_JWT_EXPIRE_DURATION=  # JWT 过期时间,留空表示不启用
    volumes:
      - ./data/rustdesk/server:/data  # 将本地数据目录挂载到容器的 /data 目录
      - ./data/rustdesk/api:/app/data  # 将本地 API 数据挂载到容器的 /app/data 目录
    restart: unless-stopped  # 容器停止时自动重启,除非手动停止

networks:
  rustdesk-net:
    external: false  # 使用本地定义的网络而非外部网络

实操修改后

services:
  rustdesk:
    ports:
      - 21114:21114  # 映射 21114 端口 (TCP):用于网页控制台,仅在 Pro 版本中可用。
      - 21115:21115  # 映射 21115 端口 (TCP):用于 NAT 类型测试。
      - 21116:21116  # 映射 21116 端口 (TCP/UDP):用于 ID 注册和心跳服务 (UDP),以及 TCP 打洞和连接服务 (TCP)。需要同时启用 TCP 和 UDP。
      - 21116:21116/udp  # 映射 21116 端口 (UDP):用于 ID 注册和心跳服务。
      - 21117:21117  # 映射 21117 端口 (TCP):用于中继服务。
      - 21118:21118  # 映射 21118 端口 (TCP):用于支持网页客户端。
      - 21119:21119  # 映射 21119 端口 (TCP):用于支持网页客户端。
    image: lejianwen/rustdesk-server-s6:latest  # 使用的镜像
    environment:
      - RELAY=http://服务器IP或域名:21117  # 设置中继服务器地址
      - ENCRYPTED_ONLY=1  # 启用加密模式
      - MUST_LOGIN=N  # 是否必须登录才能远程,N表示不强制登录
      - TZ=Asia/Shanghai  # 设置时区为上海
      - RUSTDESK_API_RUSTDESK_ID_SERVER=2116.hello0564.com  # 设置 ID 服务器地址
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=2117.hello0564.com  # 设置中继服务器地址
      - RUSTDESK_API_RUSTDESK_API_SERVER=https://2114.hello0564.com  # 设置 API 服务器地址
      - RUSTDESK_API_RUSTDESK_WS_HOST=2114.hello0564.com  # 设置 WebSocket 服务器地址
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub  # API 密钥文件路径
      - RUSTDESK_API_JWT_KEY=  # JWT 密钥,留空表示不启用
      - RUSTDESK_API_JWT_EXPIRE_DURATION=  # JWT 过期时间,留空表示不启用
    volumes:
      - ./data/rustdesk/server:/data  # 将本地数据目录挂载到容器的 /data 目录
      - ./data/rustdesk/api:/app/data  # 将本地 API 数据挂载到容器的 /app/data 目录
    restart: unless-stopped  # 容器停止时自动重启,除非手动停止

networks:
  rustdesk-net:
    external: false  # 使用本地定义的网络而非外部网络

4,执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps  #查看是否启动成功
5,服务端设置

成功以后需要打开自己相应的端口21114)防火墙就可以web端访问了,在宝塔里设置反向代理,如下图:

登录账号密码通过 docker logs e3f321f1a84d 查看日志文件,如下图:

三,客户端

客户端下载地址:https://github.com/rustdesk/rustdesk/releases/tag/1.4.3

  • 客户端网络设置
  • 客户端安全设置
  • 回到客户端主页显示“就绪”状态可以正常连接了
  • 在客户端登录后就可以正常的同步了

Rsync同步文件到Nextcloud后不显示文件:https://www.hao0564.com/5651.html

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注