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. |
|
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
hbbscomohbbr - 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ónPro.21115(TCP): usado para la prueba de tipo NAT.21116(TCP/UDP): Tenga en cuenta que21116debe habilitarse tanto para TCP como para UDP.21116/UDPse usa para el servicio de registro de ID y latido.21116/TCPse 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