Files
doc.rustdesk.com/content/self-host/rustdesk-server-oss/Docker/_index.it.md
T

5.9 KiB

title, weight, description, keywords
title weight description keywords
Docker 7 Documentazione RustDesk su Docker. Consulta le guide per installazione, configurazione, distribuzione e risoluzione dei problemi.
rustdesk docker
rustdesk docker compose
rustdesk server docker
rustdesk hbbs hbbr docker
rustdesk podman
rustdesk self-host docker

Risposta rapida

Docker è il modo più semplice per eseguire RustDesk Server OSS quando si desiderano distribuzioni ripetibili e aggiornamenti più facili. Assicurati di montare i dati persistenti e di configurare correttamente sia hbbs sia hbbr.

Punti chiave

  • Rendi persistente la directory dei dati prima di aggiornare o ricreare i container
  • Esponi le porte RustDesk richieste
  • Esegui sia hbbs sia hbbr
  • Preferisci Compose se vuoi semplificare le operazioni ricorrenti

Ecco un altro buon tutorial: Building Your Own Remote Desktop Solution: RustDesk Self-Hosted on Cloud with Docker (Hetzner)

Installa il tuo server con Docker

Requisiti

Devi avere Docker/Podman installato per eseguire un rustdesk-server come contenitore Docker. In caso di dubbi, installa Docker con questa guida per assicurarti che sia il più aggiornato possibile!

Assicurati di aprire queste porte nel firewall:

  • hbbs:
    • 21114 (TCP): usato per la console web, disponibile solo nella versione Pro.
    • 21115 (TCP): usato per il test del tipo NAT.
    • 21116 (TCP/UDP): Si prega di notare che 21116 dovrebbe essere abilitato sia per TCP che per UDP. 21116/UDP è usato per il servizio di registrazione ID e heartbeat. 21116/TCP è usato per TCP hole punching e servizio di connessione.
    • 21118 (TCP): usato per supportare i client web.
  • hbbr:
    • 21117 (TCP): usato per i servizi di Relay.
    • 21119 (TCP): usato per supportare i client web.

Se non hai bisogno del supporto client web, le porte corrispondenti 21118, 21119 possono essere disabilitate.

{{% notice warning %}} Quando WebSocket è abilitato (le porte 21118/21119 sono aperte per il client web), hbbs/hbbr si fidano degli header X-Real-IP / X-Forwarded-For delle connessioni WebSocket in ingresso per determinare l'IP reale del client, in modo da preservare l'IP del client quando il traffico WebSocket passa attraverso un reverse proxy (WSS). Questi header non vengono validati: chiunque possa raggiungere direttamente 21118/21119 può falsificare un indirizzo IP arbitrario con header contraffatti, aggirando il rate limiting e il blocco basati sull'IP e falsificando gli indirizzi IP registrati nei log.

Se usi il client web, esponi le porte WebSocket solo tramite un reverse proxy che imposti autonomamente X-Real-IP e limita 21118/21119 con regole firewall in modo che solo il reverse proxy possa connettersi. Se non usi il client web, tieni chiuse le porte 21118 e 21119. {{% /notice %}}

Esempi 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 hbbr

{{% notice note %}} --net=host funziona solo su Linux, il che fa sì che hbbs/hbbr vedano il vero indirizzo IP in arrivo invece dell'IP del contenitore (172.17.0.1). Se --net=host funziona bene, le opzioni -p non vengono utilizzate. Se su Windows, ometti sudo e --net=host.

Si prega di rimuovere --net=host se stai avendo problemi di connessione sulla tua piattaforma. {{% /notice %}}

{{% notice note %}} Se non riesci a vedere i log con -td, puoi vedere i log tramite docker logs hbbs. Oppure puoi eseguire con -it, hbbs/hbbr non verranno eseguiti come modalità daemon. {{% /notice %}}

Esempi Docker Compose

Per eseguire i file Docker con il compose.yml come descritto qui, devi avere Docker Compose installato.

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

Se devi apportare modifiche alla configurazione, ad esempio impostare ALWAYS_USE_RELAY=Y, puoi usare environment nel docker-compose.yml

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-stopped

Esempi Podman Quadlet

Se vuoi eseguire i contenitori con Podman come servizio systemd, puoi usare queste configurazioni di esempio di Podman Quadlet:

[Container]
AutoUpdate=registry
Image=rustdesk/rustdesk-server:latest
Exec=hbbs
Volume=/path/to/rustdesk-server/data:/root
Network=host

[Service]
Restart=always

[Install]
WantedBy=default.target

o

[Container]
AutoUpdate=registry
Image=rustdesk/rustdesk-server:latest
Exec=hbbr
Volume=/path/to/rustdesk-server/data:/root
Network=host

[Service]
Restart=always

[Install]
WantedBy=default.target