Сборка 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
Файл libs/docker-compose.yml используем для запуска сервера в production