Skip to main content

拉取镜像

podman pull docker.io/rustdesk/rustdesk-server

脚本管理

给脚本执行权限 chmod +x /home/rustdesk-server/rustdesk-start.sh
#!/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
#!/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
使用脚本
# 启动服务
./rustdesk-start.sh

# 查看容器状态
./rustdesk-manage.sh status

# 检查端口
./rustdesk-manage.sh ports

# 获取公钥(重要!客户端需要)
./rustdesk-manage.sh key

# 查看日志
./rustdesk-manage.sh logs