拉取镜像
Copy
podman pull docker.io/rustdesk/rustdesk-server
脚本管理
给脚本执行权限chmod +x /home/rustdesk-server/rustdesk-start.sh
Copy
#!/bin/bash
echo "========================================"
echo " RustDesk 服务器一键启动脚本"
echo "========================================"
echo ""
# 检查镜像是否存在
echo "🔄 检查/拉取最新镜像..."
podman pull docker.io/rustdesk/rustdesk-server:latest 2>/dev/null || echo "使用本地镜像"
# 清理可能存在的旧容器
echo "🧹 清理旧容器..."
podman rm -f hbbs hbbr 2>/dev/null || true
# 启动 hbbs
echo "🚀 启动 hbbs (ID服务器)..."
podman run -d \
--name hbbs \
--network=host \
-v /home/rustdesk-server/data:/root \
-e RELAY_SERVER=66.112.211.55:21117 \
--restart unless-stopped \
docker.io/rustdesk/rustdesk-server:latest \
hbbs -r 66.112.211.55:21117
# 启动 hbbr
echo "🚀 启动 hbbr (中继服务器)..."
podman run -d \
--name hbbr \
--network=host \
-v /home/rustdesk-server/data:/root \
--restart unless-stopped \
docker.io/rustdesk/rustdesk-server:latest \
hbbr
echo ""
echo "✅ 启动完成!"
echo "========================================"
chmod +x /home/rustdesk-server/rustdesk-manage.sh
Copy
#!/bin/bash
cd /home/rustdesk-server
case "$1" in
start)
echo "启动 RustDesk 服务..."
podman start hbbs hbbr
;;
stop)
echo "停止 RustDesk 服务..."
podman stop hbbs hbbr
;;
restart)
echo "重启 RustDesk 服务..."
podman restart hbbs hbbr
;;
status)
echo "容器状态:"
podman ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -E "(hbbs|hbbr|CONTAINER)"
;;
logs)
echo "hbbs 日志:"
podman logs hbbs --tail 20
echo ""
echo "hbbr 日志:"
podman logs hbbr --tail 20
;;
update)
echo "更新镜像..."
podman pull docker.io/rustdesk/rustdesk-server:latest
./rustdesk-manage.sh restart
;;
key)
echo "公钥 (复制到客户端):"
cat data/id_ed25519.pub 2>/dev/null || echo "公钥文件不存在,请先启动服务"
;;
ports)
echo "检查端口监听:"
sudo ss -tulpn | grep 2111
;;
clean)
echo "清理所有容器..."
podman rm -f hbbs hbbr
podman system prune -f
;;
*)
echo "使用方法: $0 {start|stop|restart|status|logs|update|key|ports|clean}"
echo ""
echo " start 启动服务"
echo " stop 停止服务"
echo " restart 重启服务"
echo " status 查看状态"
echo " logs 查看日志"
echo " update 更新镜像"
echo " key 查看公钥"
echo " ports 检查端口"
echo " clean 清理容器"
;;
esac
Copy
# 启动服务
./rustdesk-start.sh
# 查看容器状态
./rustdesk-manage.sh status
# 检查端口
./rustdesk-manage.sh ports
# 获取公钥(重要!客户端需要)
./rustdesk-manage.sh key
# 查看日志
./rustdesk-manage.sh logs

