doc.rustdesk.com/content/self-host/rustdesk-server-oss/Docker/_index.en.md

64 lines
2.4 KiB
Markdown
Raw Normal View History

2023-08-21 21:46:01 +02:00
---
title: Docker
weight: 7
---
2023-10-21 21:51:48 +02:00
### Install your own server with Docker
2023-08-21 21:46:01 +02:00
2023-10-21 21:51:48 +02:00
#### Requirements
2023-08-27 20:49:45 +02:00
You need to have Docker/Podman installed to run a rustdesk-server as a Docker container, if in doubt install Docker with this [guide](https://docs.docker.com/engine/install) to ensure its the most up to date!
2023-08-21 21:46:01 +02:00
2023-09-05 00:04:30 +02:00
By default, `hbbs` listens on 21115 (TCP), 21116 (TCP/UDP) and 21118 (TCP), `hbbr` listens on 21117 (TCP) and 21119 (TCP). Be sure to open these ports in the firewall. **Please note that 21116 should be enabled both for TCP and UDP.** 21115 is used for the NAT type test, 21116/UDP is used for the ID registration and heartbeat service, 21116/TCP is used for TCP hole punching and connection service, 21117 is used for the Relay services, and 21118 and 21119 are used to support web clients. *If you do not need web client (21118, 21119) support, the corresponding ports can be disabled.*
2023-08-21 21:46:01 +02:00
- TCP (**21115, 21116, 21117, 21118, 21119**)
- UDP (**21116**)
2023-10-21 21:51:48 +02:00
#### Docker examples
2023-10-18 21:55:18 +02:00
2023-09-05 00:04:30 +02:00
```sh
2023-08-21 21:46:01 +02:00
sudo docker image pull rustdesk/rustdesk-server
2023-10-19 09:31:59 +02:00
sudo docker run --name hbbs -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbr
2023-08-21 21:46:01 +02:00
```
<a name="net-host"></a>
{{% notice note %}}
`--net=host` only works on **Linux**, which makes `hbbs`/`hbbr` see the real incoming IP Address rather than the Container IP (172.17.0.1).
If `--net=host` works fine, the `-p` options are not used. If on Windows, leave out `sudo` and `--net=host`.
**Please remove `--net=host` if you are having connection problems on your platform.**
{{% /notice %}}
{{% notice note %}}
If you can not see logs with `-td`, you can see logs via `docker logs hbbs`. Or you can run with `-it`, `hbbs/hbbr` will not run as daemon mode.
{{% /notice %}}
2023-10-21 21:51:48 +02:00
#### Docker Compose examples
2023-08-27 20:49:45 +02:00
For running the Docker files with the `docker-compose.yml` as described here you need to have [Docker Compose](https://docs.docker.com/compose/) installed.
2023-08-21 21:46:01 +02:00
```yaml
version: '3'
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
```