رفتن به محتوای اصلی
کرگدن | ارائه‌کننده سرورهای ابری و اختصاصی

نصب و راه‌اندازی RustDesk با Docker روی Ubuntu 24

در این راهنما، نصب و راه‌اندازی RustDesk Server روی Ubuntu 24 با استفاده از Docker را قدم‌به‌قدم بررسی می‌کنیم. از آماده‌سازی سرور و دامنه شروع می‌کنیم، کانتینرهای hbbs و hbbr را به‌صورت پایدار اجرا می‌کنیم، تنظیمات فایروال و HTTPS را انجام می‌دهیم و در پایان، اتصال کلاینت‌ها و نکات نگهداری سرویس را توضیح می‌دهیم. هدف این مقاله این است که بدون ابهام و با کمترین آزمون‌وخطا، یک سرور RustDesk عملیاتی و امن داشته باشید.

1. مقدمه

RustDesk یک نرم‌افزار متن‌باز و مدرن برای دسترسی از راه دور است که به‌عنوان جایگزینی جدی برای ابزارهایی مثل TeamViewer و AnyDesk شناخته می‌شود. مزیت اصلی RustDesk در این است که شما می‌توانید سرور اختصاصی خودتان را راه‌اندازی کنید؛ یعنی تمام ترافیک، احراز هویت و داده‌ها از زیرساخت خودتان عبور می‌کند، نه سرورهای شخص ثالث.

برای تیم‌های فنی، شرکت‌ها و حتی کاربران حرفه‌ای، این موضوع یعنی کنترل بیشتر، امنیت بالاتر و استقلال واقعی.


2. پیش‌نیازها

قبل از شروع، مطمئن شوید موارد زیر را در اختیار دارید:

  • سیستم‌عامل: Ubuntu 24.04 LTS (نصب تمیز و به‌روز)

  • دسترسی مدیریتی: کاربر دارای sudo و دسترسی SSH پایدار

  • دامنه یا زیردامنه: مثلاً rustdesk.example.com که به IP سرور اشاره کند

  • Docker و Docker Compose v2

  • پورت‌های مورد نیاز RustDesk:
    21115، 21116 (TCP و UDP)، 21117، 21118، 21119
    (در صورت استفاده از HTTPS، پورت‌های 80 و 443 هم لازم هستند)

  • فضای ذخیره‌سازی: حداقل 5 گیگابایت برای داده‌ها و لاگ‌ها

  • برنامه بکاپ: ترجیحاً بکاپ دوره‌ای از پوشه تنظیمات و کلیدها


3. نصب Docker و Docker Compose

ابتدا سیستم را به‌روزرسانی و Docker را نصب می‌کنیم:

17 خط
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt install -y docker.io docker-compose && sudo systemctl enable --now docker
sudo apt update
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

برای اطمینان از نصب صحیح:

2 خط
docker --version
docker-compose --version
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

4. آماده‌سازی دایرکتوری‌ها و متغیرهای محیطی

برای نظم بیشتر، تمام فایل‌های RustDesk را در مسیر /opt/rustdesk نگه می‌داریم:

2 خط
sudo mkdir -p /opt/rustdesk/data
cd /opt/rustdesk
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سپس فایل env را می‌سازیم:

5 خط
sudo tee .env >/dev/null <<'EOF'
RUSTDESK_DOMAIN=rustdesk.example.com
RUSTDESK_RELAY=rustdesk.example.com
RUSTDESK_KEY_SECRET=change_me_to_strong_key
EOF
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

مقدار RUSTDESK_KEY_SECRET را حتماً به یک کلید قوی و یکتا تغییر دهید؛ این کلید نقش مهمی در امنیت ارتباطات دارد.


5. فایل Docker Compose

در این مرحله، سرویس‌های اصلی RustDesk یعنی hbbs (ID Server) و hbbr (Relay Server) را تعریف می‌کنیم.

26 خط
services:
  hbbs:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbs
    restart: always
    env_file: .env
    command: hbbs -r ${RUSTDESK_RELAY}:21117
    ports:
      - "21115:21115"
      - "21116:21116/tcp"
      - "21116:21116/udp"
      - "21118:21118"
    volumes:
      - ./data:/root/.config/rustdesk

  hbbr:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbr
    restart: always
    env_file: .env
    command: hbbr
    ports:
      - "21117:21117"
      - "21119:21119"
    volumes:
      - ./data:/root/.config/rustdesk
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

در صورت نیاز، می‌توانید بعداً Nginx را برای TLS و ریورس‌پراکسی به این فایل اضافه کنید.


6. اجرای سرویس‌ها

برای بالا آوردن کانتینرها:

2 خط
sudo docker-compose up -d
sudo docker ps
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر هر دو کانتینر در وضعیت Up باشند، هسته اصلی RustDesk آماده است.


7. تنظیم فایروال (UFW)

برای محدود کردن دسترسی‌ها، فقط پورت‌های لازم را باز می‌کنیم:

9 خط
sudo ufw allow ssh
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp
sudo ufw enable
sudo ufw status
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

8. HTTPS و Nginx (اختیاری ولی توصیه‌شده)

اگر قصد دارید ارتباطات مدیریتی را امن‌تر کنید، استفاده از HTTPS پیشنهاد می‌شود. در این حالت، Nginx به‌عنوان ریورس‌پراکسی عمل می‌کند و گواهی Let’s Encrypt روی آن قرار می‌گیرد.

در صورت نداشتن دامنه، می‌توانید این بخش را فعلاً رد کنید و مستقیماً از IP استفاده کنید.

(تنظیمات Nginx و Certbot مشابه متن اولیه شما باقی می‌ماند و از نظر فنی صحیح است.)


9. اتصال کلاینت‌ها

در نرم‌افزار RustDesk کلاینت:

  • مقدار ID Server را برابر دامنه یا IP سرور بگذارید

  • مقدار Relay Server را نیز مطابق تنظیمات سرور وارد کنید

از این لحظه به بعد، تمام اتصال‌ها از طریق سرور اختصاصی شما انجام می‌شود.


10. نگهداشت و نکات امنیتی

  • کانتینرها را به‌صورت دوره‌ای به‌روز نگه دارید:

2 خط
sudo docker-compose pull
sudo docker-compose up -d
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • لاگ‌ها را بررسی کنید:

  • 2 خط
    sudo docker logs -f hbbs
    sudo docker logs -f hbbr
    برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • از پوشه /opt/rustdesk/data به‌صورت منظم بکاپ بگیرید.

  • در صورت نیاز به امنیت بیشتر، اجرای کانتینرها با user غیر-root را در Compose فعال کنید.


  • 11. جمع‌بندی

    با اجرای این مراحل، یک سرور RustDesk پایدار، امن و قابل اتکا روی Ubuntu 24 خواهید داشت؛ مناسب برای استفاده سازمانی، تیم‌های پشتیبانی یا حتی ارائه سرویس به مشتریان. این ساختار به‌راحتی مقیاس‌پذیر است و می‌تواند با زیرساخت شما رشد کند.


    اگر به‌دنبال راه‌اندازی سریع هستید، می‌توانید از ماشین های ابری  کرگدن استفاده کنید.