From c56d35cf01d30aa02dd1c8d42e73dd2f3bbbd915 Mon Sep 17 00:00:00 2001 From: Morty Sunshine Date: Thu, 25 Jan 2024 20:25:01 +0300 Subject: [PATCH] Initial Commit --- README.md | 67 +++++++++++++++++++++++++++++++++++++++++++-- docker-compose.yaml | 36 ++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 docker-compose.yaml diff --git a/README.md b/README.md index 6530ff6..84225b8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,66 @@ -# rustdesk-server +# Rustdesk сервер в Docker-Compose -Docker-Compose Rustdesk Сервер \ No newline at end of file +Для работы потребуется установленный docker-compose + +## Установка Docker-Compose и Git в Ubuntu/Debian +Ставим пакеты и включаем демона Docker +``` +sudo apt update +sudo apt install docker-compose git +sudo systemctl start docker.service +sudo systemctl enable docker.service +sudo systemctl status docker.service +``` + +Так же добавляем пользователя в группу docker чтобы не запускать контейнеры с root +``` +sudo usermod -aG docker $USER +``` +## Клонирование репозитория + +Клонируем репозиторий: + +``` +git clone https://gitea.mayex.net/mayekkuzu/rustdesk-server.git +cd rustdesk-server +sudo nano docker-compose.yaml +``` +## Настройка + + +Параметры, на которые стоит обратить внимание. + +- Контейнеры внутри: + `hbbs` - RustDesk ID/Rendezvous сервер + `hbbr` - Сервер RustDesk Relay + +- Порты: По умолчанию работают 21115/TCP, 21116/TCP/UDP и 21118/TCP, 21117/TCP и 21119/TCP. 21118-21119 порты можно не открывать, потому как это требуется для веб-служб сервиса. + +- Relay: используется для ретрансляции сервиса rustdesk. Используется, если сервисов несколько и расположены на разных серверах. Параметр `hbbs` можно оставить без ключа `-r`. + +- Volumes: указание папки хранения ключа и базы данных. Можно указать произвольную. + +## Шифрование + +По умолчанию в папке `./data` создается пара ключей ed25529. Нам нужно посмотреть содержимое публичного ключа `id_ed25529.pub`. +Ключ указываем в docker-compose.yaml + +``` +... + image: rustdesk/rustdesk-server:latest + command: hbbs -r IP_ADDRESS_RELAY:21117 -k СОДЕРЖИМОЕ_КЛЮЧА +... + +... + image: rustdesk/rustdesk-server:latest + command: hbbr -k СОДЕРЖИМОЕ_КЛЮЧА +... +``` + +Запускаем сервер командой `docker-compose up -d` +Дополнительно открываем порты на маршрутизаторе. Если используем сервер на VPS/VDS - открываем порты в ufw или iptables. + +## Клиенты + +Скачиваем [клиент](https://github.com/rustdesk/rustdesk/releases/) для требуемой платформы. +В настройках указываем ip/dns сервера и ключ который мы взяли с файла `id_ed25529.pub` diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..a0336a0 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,36 @@ +version: '3' + +networks: + rustdesk-net: + external: false + +services: + hbbs: + container_name: hbbs + ports: + - 21115:21115 + - 21116:21116 + - 21116:21116/udp + - 21118:21118 + image: rustdesk/rustdesk-server:latest + command: hbbs -r FQDN-OR-IP:21117 -k pub_key_string + volumes: + - ./data:/root + networks: + - rustdesk-net + depends_on: + - hbbr + restart: unless-stopped + + hbbr: + container_name: hbbr + ports: + - 21117:21117 + - 21119:21119 + image: rustdesk/rustdesk-server:latest + command: hbbr -k pub_key_string + volumes: + - ./data:/root + networks: + - rustdesk-net + restart: unless-stopped \ No newline at end of file