Administrator
发布于 2025-09-24 / 29 阅读
0
0

Docker环境下RustDesk的端口配置与部署

  1. RustDesk ID服务器:docker run --name RustDesk-hbbs -v ./data:/root -td --net=host --restart always rustdesk/rustdesk-server:latest hbbs -k 123456789 //-k 强制key认证 123456789为key

  2. RustDesk 中继服务器:docker run --name RustDesk-hbbr -v ./data:/root -td --net=host --restart always rustdesk/rustdesk-server:latest hbbr -k 123456789 //-k 强制key认证 123456789为key

  3. RustDesk-API 服务器:

docker run -d --name RustDesk-API \

--restart always \

-p 21114:21114 \

-v /data/rustdesk/api:/app/data \

-e TZ=Asia/Shanghai \

-e RUSTDESKAPILANG=zh-CN \

-e RUSTDESKAPIRUSTDESKIDSERVER=192.168.1.xx:21116 \ //ip修改为服务器IP

-e RUSTDESKAPIRUSTDESKRELAYSERVER=192.168.1.xx:21117 \ //ip修改为服务器IP

-e RUSTDESKAPIRUSTDESKAPISERVER=http://192.168.1.xx:21114 \ //ip修改为服务器IP

-e RUSTDESKAPIRUSTDESK_KEY=123456789 \ //key需要对应上面服务器的key

lejianwen/rustdesk-api:latest

4.重置RustDesk-API 管理员admin的密码:

1)docker exec -it RustDesk-API /bin/sh

2)./apimain reset-admin-pwd admin

  • 在使用Docker部署RustDesk时,hbbs组件默认监听以下端口:21114(TCP,仅Pro版本支持的Web控制台)、21115(TCP)、21116(TCP/UDP)和21118(TCP)。其中,21115端口用于NAT类型测试;21116/UDP用于ID注册和心跳服务;21116/TCP用于TCP打孔和连接服务;21118端口用于支持Web客户端。而hbbr组件则监听21117(TCP)和21119(TCP),分别用于Relay服务和支持Web客户端。部署过程中需要设置密钥。

  • 修改版,已下是rustdesk server服务端和API服务端的群晖docker-compose部署。其中很大的一个坑是生成的id_ed25519.pub key文件一定需要在2个服务端文件夹里面保持一致。其中RUSTDESK_API_JWT_KEY=的值也需要相同。

version: "3.8"

networks:
  rustdesk-net:
    driver: bridge

services:

  # -------------------------
  # RustDesk API Server
  # -------------------------
  rustdesk-api:
    image: ghcr.io/lejianwen/rustdesk-api:latest
    container_name: rustdesk-api
    restart: always
    networks:
      - rustdesk-net
    ports:
      - "21114:21114"
    environment:
      - TZ=Asia/Shanghai
      - RUSTDESKAPILANG=zh-CN
      - RUSTDESKAPIRUSTDESKIDSERVER=192.168.0.200:21116
      - RUSTDESK_API_JWT_KEY= ‌随机的48位数字
    volumes:
      - /volume1/docker/rustdesk/api:/app/data

  # -------------------------
  # RustDesk ID + Relay
  # -------------------------
  rustdesk-server:
    image: lejianwen/rustdesk-server-s6:latest
    container_name: rustdesk-server
    restart: unless-stopped
    networks:
      - rustdesk-net
    ports:
      - "21115:21115"
      - "21116:21116"
      - "21116:21116/udp"
      - "21117:21117"
      - "21118:21118"
      - "21119:21119"
    environment:
      - TZ=Asia/Shanghai
      - ENCRYPTED_ONLY=1
      - MUST_LOGIN=Y
      - RELAY=rustdesk-server:21117
      - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.0.200:21116
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.0.200:21117
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.0.200:21114
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
      - RUSTDESK_API_JWT_KEY=随机的48位数字(需要和上面一致)
    volumes:
      - /volume1/docker/rustdesk/server:/data


评论