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

57 lines
2.7 KiB
Markdown
Raw Normal View History

2022-04-11 11:05:11 +02:00
---
2023-07-15 22:17:29 +02:00
title: Self-host
2022-04-11 11:05:11 +02:00
weight: 5
2022-04-20 13:29:42 +02:00
pre: "<b>2. </b>"
2022-04-11 11:05:11 +02:00
---
2023-10-20 12:58:43 +02:00
If you are using RustDesk you should have your own RustDesk Server, these docs will help you on your RustDesk journey.
Support is available via our [Discord](https://discord.com/invite/nDceKgxnkV) for OSS and [email](mailto:support@rustdesk.com) for Pro.
2024-10-12 08:44:46 +02:00
### How does self-hosted server work?
There are technically two executables (services):
- `hbbs` - RustDesk ID (rendezvous / signaling) server, listen on TCP (`21114` - for http in Pro only, `21115`, `21116`, `21118` for web socket) and UDP (`21116`)
- `hbbr` - RustDesk relay server, listen on TCP (`21117`, `21119` for web socket)
When you install via installation script / docker compose / deb, the two services will be both installed.
Here is [illustrations](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F) of how RustDesk client communicates with `hbbr` / `hbbs`.
As long as RustDesk is running on a machine, the machine constantly pings the ID server (`hbbs`) to make its current IP address and port known.
When you start a connection from computer A to computer B, computer A contacts the ID server and requests to communicate with computer B.
The ID server then attempts to connect A and B directly to each other using hole punching.
If hole punching fails, A will communicate with B via the relay server (`hbbr`).
In the majority of cases, hole punching is successful, and the relay server is never used.
Here is a discussion about [Should you self-host a rustdesk server?](https://www.reddit.com/r/rustdesk/comments/1cr8kfv/should_you_selfhost_a_rustdesk_server/)
2023-10-21 21:48:15 +02:00
### Basic Setup
2023-10-20 13:20:09 +02:00
2024-02-09 21:31:33 +01:00
[Set up your own server instance manually.](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/#set-up-your-own-server-instance-manually)
2023-10-20 13:20:09 +02:00
2023-10-21 21:48:15 +02:00
### Ports Required
2023-10-20 12:58:43 +02:00
2023-12-13 17:43:47 +01:00
Ports required for RustDesk Server self-hosting depends largely on your environment and what you want to do with RustDesk. The Examples shown throughout the docs will generally have all ports suggested to be opened.
2023-10-20 12:58:43 +02:00
Core Ports: \
2024-05-05 06:14:15 +02:00
TCP `21114-21119` \
2023-10-20 13:25:07 +02:00
UDP `21116`
2023-10-20 12:58:43 +02:00
2024-05-21 21:41:26 +02:00
The above `21115-21117` are the minimum required ports for RustDesk to work, these handle the signal and relay ports as well as NAT traversal.
2023-10-20 12:58:43 +02:00
2023-10-20 13:25:07 +02:00
Additionally TCP ports `21118` and `21119` can be opened if you want to use the [RustDesk Web Client](https://rustdesk.com/docs/en/dev/build/web/).
2023-10-20 12:58:43 +02:00
2023-10-20 13:25:07 +02:00
For Pro users without an SSL Proxy you will need to open TCP port `21114` for the API to work alternatively using an SSL Proxy open TCP port `443`.
2023-10-20 12:58:43 +02:00
2023-10-21 21:48:15 +02:00
### Test Ports are opened
2023-10-20 12:58:43 +02:00
To check ports are opened and working you can use `test-netconnection domain.com -p 21115` with PowerShell or [CanYouSeeMe.org](https://canyouseeme.org/).
2024-07-20 22:37:29 +02:00
{{% children depth="4" showhidden="true" %}}