一键部署RustDesk中继服务器及API
前言
RustDesk 凭借开源、安全、高性能的特点,成为替代传统远程桌面工具的优质选择。尤其适合注重隐私保护、需要自建基础设施的企业和开发者。如果你正在寻找一款免费且可控的远程协作方案,RustDesk 值得一试。
服务器要求
开放防火墙端口
# Ubuntu/Debian
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw allow 8080/tcp # API服务端口
sudo ufw reload
# CentOS
sudo firewall-cmd --add-port=21115-21119/tcp --permanent
sudo firewall-cmd --add-port=21116/udp --permanent
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
一键部署方法
1、安装 Docker 和 Docker Compose
# 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2、创建并编辑 docker-compose.yml
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
ports:
- 21115:21115/tcp
- 21116:21116/tcp
- 21116:21116/udp
- 21118:21118/tcp
volumes:
- ./data/hbbs:/root
command: hbbs -r your_server_ip:21117
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
ports:
- 21117:21117/tcp
- 21119:21119/tcp
volumes:
- ./data/hbbr:/root
command: hbbr
restart: unless-stopped
rustdesk-api:
image: lejianwen/rustdesk-api:latest
container_name: rustdesk-api
ports:
- 8080:8080
volumes:
- ./data/api/config:/app/config
- ./data/api/db:/app/db
environment:
- RUST_LOG=info
- DATABASE_URL=sqlite:///app/db/rustdesk_api.db
- HBBS_URL=http://hbbs:21116
- HBBR_URL=http://hbbr:21117
depends_on:
- hbbs
- hbbr
restart: unless-stopped
注意:将 your_server_ip
替换为你的服务器公网 IP。
3、启动服务
mkdir -p rustdesk-deploy/data/{hbbs,hbbr,api/{config,db}}
cd rustdesk-deploy
wget https://raw.githubusercontent.com/lejianwen/rustdesk-api/master/docker-compose.yml
# 编辑docker-compose.yml替换IP
nano docker-compose.yml
docker-compose up -d
验证部署
1、检查服务状态
docker ps
2、测试 API 连接
curl http://localhost:8080/api/v1/health
# 应返回: {"status":"ok"}
3、配置 RustDesk 客户端
通过上述步骤,你可以快速搭建一个功能完整的 RustDesk 中继服务器,并通过 API 进行管理,满足企业级远程控制需求。
THE END