Свой сервер RustDesk в Docker Compose: альтернатива TeamViewer без посредников
Ищешь приватную, безопасную и open-source альтернативу TeamViewer? RustDesk — отличный выбор, а развернув его сам в Docker Compose, получаешь полный контроль над решением для удалённого доступа.
В этом гайде поднимаем сервер RustDesk с нуля, настраиваем безопасный доступ и подключаем клиентов.
Зачем хостить RustDesk самому
Свой сервер RustDesk даёт:
- Полную приватность — без сторонних релеев.
- Лучшую производительность — прямое соединение с твоей сетью.
- Контроль безопасности — пароли, ключи, список разрешённых клиентов сам решаешь.
- Экономию — никаких подписок.
Что понадобится
- Установленные Docker и Docker Compose.
- Публичный IP или домен.
- Открытые порты
21115-21119(TCP/UDP) в фаерволе.
Шаг 1 — установка 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
sudo vim docker-compose.yml
version: '3'
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:
hbbs — сигнальный сервер (ID server), hbbr — релей-сервер для пересылки трафика, когда прямое соединение невозможно.
Шаг 4 — переменные окружения
Создай .env:
touch .env && vim .env
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="your-strong-password"
RUSTDESK_ALLOWED_IDS=
RUSTDESK_SSH_KEY=/root/.ssh/authorized_keys
TZ=Europe/Kiev
Совет: для RUSTDESK_RELAY_PASSWORD ставь длинный уникальный пароль — иначе сервер открыт кому угодно.Шаг 5 — запуск сервера
docker-compose up -d
Проверь, что контейнеры запущены:
docker ps
Шаг 6 — подключение клиента RustDesk
- Скачай RustDesk с официального сайта.
- Открой Settings → Server.
- В ID Server укажи IP или домен своего сервера.
- Введи
RUSTDESK_RELAY_PASSWORDиз.env. - При использовании SSH-аутентификации добавь публичный ключ в
~/.ssh/authorized_keysна сервере.
Шаг 7 — управление сервером
Остановить:
docker-compose down
Перезапустить:
docker-compose restart
Посмотреть логи:
docker-compose logs -f
Опционально — HTTPS
Для шифрованных соединений поставь reverse proxy (Nginx или Traefik) перед сервером RustDesk.
Подняв RustDesk в Docker Compose, получаешь быструю, приватную систему удалённого доступа без зависимости от внешних сервисов и без абонентской платы. Дальше — только настроить под себя политику паролей и доступов.
Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.