Сборка RustDesk сервера из исходников

Mikhail Fedorov | Jan 31, 2026 min read

Сборка RustDesk сервера


Подготовка

Скрипт для сборки - GitHub.

git clone https://github.com/gwvsol/rustdesk-server-builder.git && cd rustdesk-server-builder
work@work:~/rustdesk-server-builder$ tree
.
├── libs
│   ├── colors
│   ├── docker-compose.yml
│   ├── Dockerfile
│   ├── Dockerfile.sdk
│   └── entrypoint.sh
├── README.md
└── server-cli
1 directory, 7 files
work@work:~/rustdesk-server-builder$ ./server-cli --help
######################################## HELP ########################################
 server-cli --install                      | Установка исходного кода приложения
 server-cli --remove                       | Удаленией
 server-cli          --src                 |           исходного кода приложения
 server-cli          --builder             |           приложения для сборки rustdesk-server
 server-cli          --apps                |           сборки rustdesk-server
 server-cli          --img                 |           образа rustdesk-server
 server-cli --server                       | Сервер
 server-cli          --start               |        старт
 server-cli          --stop                |        стоп
 server-cli --build                        | Cборка приложения rustdesk-server
 server-cli         --server               | Cборка rustdesk-server в образе Docker
 server-cli         --sdk                  | Cборка sdk для rustdesk-server
 server-cli --help                         | Справка по работе приложения
######################################################################################

Сборка SDK

В файле .env можно изменить переменную RUSTDESK_SERVER_BUILDER_TAG

work@work:~/rustdesk-server-builder$ ./server-cli --build --sdk

В результате будет собран образ

work@home-dev:~/rustdesk-server/libs$ docker images
IMAGE                                             ID             DISK USAGE   CONTENT SIZE   EXTRA
rustdesk-server-builder:2026-01-31-01-trixie      8676ccabf530        1.7GB             0B 

Исходный код

Исходный код RustDesk сервера - GitHub

work@work:~/rustdesk-server-builder$ ./server-cli --install

Сборка приложения

work@work:~/rustdesk-server-builder$ ./server-cli --build

В результате будут собраны файлы приложения и вспомогательной утилиты

work@work:~/rustdesk-server-builder$ ls -l rustdesk-server/target/release/
итого 15704
-rwxr-xr-x   2 work work 3099280 янв 31 20:08 hbbr
-rwxr-xr-x   2 work work 9317840 янв 31 20:08 hbbs
-rwxr-xr-x   2 work work  461768 янв 31 20:08 rustdesk-utils

Используя утилиту rustdesk-utils создадим новую пару открытого и закрытого ключей

work@work:~/rustdesk-server-builder$ ./rustdesk-server/target/release/rustdesk-utils genkeypair
Public Key:  HTQcPkHl+C8VESOy+Go/ZwsELlDbN4VaYab838JU6K0=
Secret Key:  YNyu18FVOrcOUoAkYV+nIRRixME0pEg2eLbUMnBk4FUdNBw+QeX4LxURI7L4aj9nCwQuUNs3hVphpvzfwlTorQ==

В файле .env изменяем переменные KEY_PUB и KEY_PRIV соответственно

В файле .env можно изменить переменную REGISTRY_RUSTDESK_SERVER_TAG


Сборка сервера

work@work:~/rustdesk-server-builder$ ./server-cli --build --server

В результате будет собран образ

work@home-dev:~/rustdesk-server/libs$ docker images
IMAGE                                             ID             DISK USAGE   CONTENT SIZE   EXTRA
rustdesk-server:2026-01-31-01-trixie              af971244e73c       91.5MB             0B 

Локальный запуск/выключение сервера

Для работы сервера требуются открытые или проброшенные TCP/UDP порты 21115, 21116, 21117, 21118, 21119

В файле libs/docker-compose.yml указываем:

новый собранный образ

  • image: rustdesk-server:2026-01-31-01-trixie и

имя домена или ip адрес сервера

  • command: hbbs -r example.ru:21117
work@work:~/rustdesk-server-builder$ ../server-cli --server --start
[+] up 3/3
 ✔ Network libs_default           Created                      0.0s
 ✔ Container rustdesk-server-hbbr Created                      0.0s
 ✔ Container rustdesk-server-hbbs Created                      0.0s

Запускаем приложение RusDesk, указываем:

  • ip адрес или домен
  • публичный ключ который указан в переменной KEY_PUB
img1
img1

Файл libs/docker-compose.yml используем для запуска сервера в production