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

5.9 KiB

title, weight, description, keywords
title weight description keywords
Docker 7 Documentación de RustDesk sobre Docker. Consulta guías de instalación, configuración, despliegue y solución de problemas.
rustdesk docker
rustdesk docker compose
rustdesk server docker
rustdesk hbbs hbbr docker
rustdesk podman
rustdesk self-host docker

Respuesta rápida

Docker es la forma más sencilla de ejecutar RustDesk Server OSS cuando busca un despliegue repetible y actualizaciones más simples. Asegúrese de montar los datos persistentes y de configurar correctamente tanto hbbs como hbbr.

Puntos clave

  • Mantenga persistente el directorio de datos antes de actualizar o recrear contenedores
  • Publique los puertos requeridos por RustDesk
  • Ejecute tanto hbbs como hbbr
  • Prefiera Compose si quiere simplificar la operación diaria

Aquí hay otro buen tutorial: Building Your Own Remote Desktop Solution: RustDesk Self-Hosted on Cloud with Docker (Hetzner)

Instale su propio servidor con Docker

Requisitos

Necesita tener Docker/Podman instalado para ejecutar un rustdesk-server como contenedor Docker. Si tiene dudas, instale Docker con esta guía para asegurar que esté lo más actualizado posible.

Asegúrese de abrir estos puertos en el firewall:

  • hbbs:
    • 21114 (TCP): usado para consola web, solo disponible en la versión Pro.
    • 21115 (TCP): usado para la prueba de tipo NAT.
    • 21116 (TCP/UDP): Tenga en cuenta que 21116 debe habilitarse tanto para TCP como para UDP. 21116/UDP se usa para el servicio de registro de ID y latido. 21116/TCP se usa para TCP hole punching y servicio de conexión.
    • 21118 (TCP): usado para soportar clientes web.
  • hbbr:
    • 21117 (TCP): usado para los servicios de Relay.
    • 21119 (TCP): usado para soportar clientes web.

Si no necesita soporte para cliente web, los puertos correspondientes 21118, 21119 pueden deshabilitarse.

{{% notice warning %}} Cuando WebSocket está habilitado (los puertos 21118/21119 están abiertos para el cliente web), hbbs/hbbr confían en las cabeceras X-Real-IP / X-Forwarded-For de las conexiones WebSocket entrantes para determinar la IP real del cliente, de modo que la IP del cliente se conserve cuando el tráfico WebSocket pasa por un proxy inverso (WSS). Estas cabeceras no se validan, por lo que cualquiera que pueda acceder directamente a 21118/21119 puede suplantar una dirección IP arbitraria con cabeceras falsificadas, eludiendo la limitación de velocidad y el bloqueo basados en IP y falseando las direcciones IP registradas en los logs.

Si usa el cliente web, exponga los puertos WebSocket solo a través de un proxy inverso que establezca X-Real-IP por sí mismo, y restrinja 21118/21119 con reglas de firewall para que solo el proxy inverso pueda conectarse a ellos. Si no usa el cliente web, mantenga cerrados los puertos 21118 y 21119. {{% /notice %}}

Ejemplos 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 solo funciona en Linux, lo que hace que hbbs/hbbr vean la dirección IP real entrante en lugar de la IP del contenedor (172.17.0.1). Si --net=host funciona bien, las opciones -p no se usan. Si en Windows, omita sudo y --net=host.

Por favor, elimine --net=host si está teniendo problemas de conexión en su plataforma. {{% /notice %}}

{{% notice note %}} Si no puede ver logs con -td, puede ver logs a través de docker logs hbbs. O puede ejecutar con -it, hbbs/hbbr no se ejecutará como modo daemon. {{% /notice %}}

Ejemplos Docker Compose

Para ejecutar los archivos Docker con el compose.yml como se describe aquí, necesita tener Docker Compose instalado.

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

Si necesita hacer cambios de configuración, por ejemplo, establecer ALWAYS_USE_RELAY=Y, puede usar environment en el 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

Ejemplos Podman Quadlet

Si desea ejecutar los contenedores con Podman como servicio systemd, puede usar estas configuraciones de ejemplo de 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