RustDesk с сервером в Docker Compose

1. Установка Docker и Docker Compose

Перед началом убедитесь, что на сервере установлен Docker и Docker Compose. Если они не установлены, выполните следующие команды:

sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker

2. Создание рабочего каталога

Создадим директорию для конфигурации сервера:

mkdir -p /opt/rustdesk-server && cd /opt/rustdesk-server

3. Создание docker-compose.yml

Создайте файл docker-compose.yml и добавьте в него следующий код:

sudo vim docker-compose.yml
services:

  hbbs:
    image: ${RUSTDESK_IMAGE}
    container_name: rustdesk-hbbs
    restart: unless-stopped
    network_mode: "host"
    environment:
      - TZ=${TZ}
      - RUSTDESK_RELAY_PASSWORD=${RUSTDESK_RELAY_PASSWORD}
      - RUSTDESK_ALLOWED_IDS=${RUSTDESK_ALLOWED_IDS}
      - ALWAYS_USE_RELAY=Y
      - RUSTDESK_SSH_KEY=/root/.ssh/authorized_keys
    volumes:
      - rustdesk-data:/data
      - ./data:/root
    depends_on:
      - hbbr
    command: ["hbbs", "-r", "127.0.0.1:21117"] # Подключение релея

  hbbr:
    image: ${RUSTDESK_IMAGE}
    container_name: rustdesk-hbbr
    restart: unless-stopped
    network_mode: "host"
    environment:
      - TZ=${TZ}
    volumes:
      - rustdesk-data:/data
      - ./data:/root
    command: ["hbbr"] # Запуск релей-сервера

volumes:
  rustdesk-data:

4. Создание .env файла

Создайте .env файл для управления переменными окружения:

touch .env

Откройте .env файл и добавьте:

# Образ RustDesk
RUSTDESK_IMAGE=rustdesk/rustdesk-server

# Порты
RUSTDESK_PORT1=21115
RUSTDESK_PORT2=21116
RUSTDESK_PORT3=21117
RUSTDESK_PORT4=21118
RUSTDESK_PORT5=21119
RUSTDESK_UDP_PORT=21116

# Защита
RUSTDESK_RELAY_PASSWORD="strong password"  # Пароль для relay-сервера
RUSTDESK_ALLOWED_IDS=  # ID разрешенных клиентов (оставьте пустым для всех)
RUSTDESK_SSH_KEY=/root/.ssh/authorized_keys  # Путь к файлу с SSH-ключами

# Часовой пояс
TZ=Europe/Kiev

5. Запуск сервера RustDesk

Запустите сервер с помощью Docker Compose:

docker-compose up -d

Проверьте запущенные контейнеры:

docker ps

6. Настройка клиента RustDesk

6.1 Скачивание клиента

Скачайте клиент RustDesk с официального сайта:
https://rustdesk.com/

6.2 Настройка клиента

  1. Откройте клиент RustDesk.
  2. Перейдите в "Настройки" → "Сервер".
  3. В поле ID Сервер укажите IP-адрес вашего сервера.
  4. В поле Пароль введите значение RUSTDESK_RELAY_PASSWORD из .env файла.
  5. Если требуется аутентификация по SSH-ключу, добавьте ваш публичный ключ в ~/.ssh/authorized_keys на сервере.
  6. Сохраните настройки.

Теперь ваш клиент будет подключаться через ваш собственный сервер RustDesk!

7. Управление сервером

Остановить сервер:

docker-compose down

Перезапустить сервер:

docker-compose restart

Просмотр логов:

docker-compose logs -f

Готово! Теперь ваш сервер RustDesk работает в Docker и клиенты могут подключаться через него.