Docker
こちらもう一つの良いチュートリアルです:Building Your Own Remote Desktop Solution: RustDesk Self-Hosted on Cloud with Docker (Hetzner)
Docker で独自のサーバーをインストール
要件
rustdesk-server を Docker コンテナとして実行するには、Docker/Podman がインストールされている必要があります。疑問がある場合は、このガイドで Docker をインストールして、最新であることを確認してください!
ファイアウォールでこれらのポートを開いてください:
hbbs:21114(TCP): ウェブコンソール用、Proバージョンでのみ利用可能。21115(TCP): NAT タイプテスト用。21116(TCP/UDP):21116は TCP と UDP の両方で有効にする必要があることに注意してください。21116/UDPは ID 登録とハートビートサービスに使用されます。21116/TCPは TCP ホールパンチングと接続サービスに使用されます。21118(TCP): ウェブクライアントのサポート用。
hbbr:21117(TCP): リレーサービス用。21119(TCP): ウェブクライアントのサポート用。
ウェブクライアントサポートが不要な場合、対応するポート 21118、21119 は無効にできます。
Docker の例
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbrNote
--net=host は Linux でのみ動作し、hbbs/hbbr がコンテナ IP (172.17.0.1) ではなく実際の着信 IP アドレスを見ることができます。
--net=host が正常に動作する場合、-p オプションは使用されません。Windows の場合、sudo と --net=host を省略してください。
プラットフォームで接続問題が発生している場合は、--net=host を削除してください。
Note
-td でログが見えない場合は、docker logs hbbs でログを確認できます。または -it で実行すると、hbbs/hbbr はデーモンモードで実行されません。Docker Compose の例
ここで説明されている compose.yml で Docker ファイルを実行するには、Docker Compose がインストールされている必要があります。
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped設定変更が必要な場合、例えば ALWAYS_USE_RELAY=Y を設定する場合、docker-compose.yml で environment を使用できます
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
environment:
- ALWAYS_USE_RELAY=Y
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stoppedPodman Quadlet の例
systemd サービスとして Podman でコンテナを実行したい場合は、これらのサンプル Podman Quadlet 設定を使用できます:
[Container]
AutoUpdate=registry
Image=ghcr.io/rustdesk/rustdesk-server:latest
Exec=hbbs
Volume=/path/to/rustdesk-server/data:/root
Network=host
[Service]
Restart=always
[Install]
WantedBy=default.targetまたは
[Container]
AutoUpdate=registry
Image=ghcr.io/rustdesk/rustdesk-server:latest
Exec=hbbr
Volume=/path/to/rustdesk-server/data:/root
Network=host
[Service]
Restart=always
[Install]
WantedBy=default.target