Skip to content

docs: clarify self-host port usage - #629

Open
21pages wants to merge 1 commit into
rustdesk:masterfrom
21pages:update-doc
Open

docs: clarify self-host port usage#629
21pages wants to merge 1 commit into
rustdesk:masterfrom
21pages:update-doc

Conversation

@21pages

@21pages 21pages commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Documentation
    • Expanded self-hosting port guidance with the purpose of each port and the minimum required ports.
    • Clarified WebSocket exposure requirements for WSS and reverse-proxy setups.
    • Added guidance for Pro API access, HTTPS configurations, and TCP 443-only deployments.
    • Documented that 443-only relay mode does not support direct peer-to-peer connections.
    • Updated the guidance across all supported translations.

Signed-off-by: 21pages <sunboeasy@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The self-hosting documentation now lists port purposes, identifies minimum required ports, clarifies WSS and Pro API exposure, and documents TCP 443-only WSS relay deployment across twelve languages.

Changes

Self-hosting port documentation

Layer / File(s) Summary
Localized port and deployment guidance
content/self-host/_index.*.md
The port sections now describe TCP/UDP ports 2111421119, define 2111521117 as the minimum set, clarify reverse-proxy and WSS exposure, document Pro API requirements, and describe TCP 443-only WSS relay mode.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: rustdesk

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main documentation change: clarifying self-hosted port usage and deployment requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@content/self-host/_index.en.md`:
- Around line 63-69: Clarify the port-exposure modes in the RustDesk
self-hosting port guidance: in content/self-host/_index.en.md:63-69, qualify
ports 21115-21117 as the minimum external ports only when not using the TCP
443-only WSS deployment, and state that the 21114 API port can remain internal
only when an HTTPS reverse proxy terminates on 443 and forwards it internally.
Apply the equivalent localized clarification to
content/self-host/_index.de.md:52-58, content/self-host/_index.es.md:52-58,
content/self-host/_index.fr.md:52-58, content/self-host/_index.it.md:52-58,
content/self-host/_index.ja.md:52-58, content/self-host/_index.ko.md:59-65,
content/self-host/_index.pl.md:52-58, content/self-host/_index.pt.md:52-58,
content/self-host/_index.ro.md:52-58, content/self-host/_index.zh-cn.md:52-58,
and content/self-host/_index.zh-tw.md:52-58.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e86b3772-7d8b-4c09-b580-7ae7fbbe09d0

📥 Commits

Reviewing files that changed from the base of the PR and between d7de5fc and 83532b7.

📒 Files selected for processing (12)
  • content/self-host/_index.de.md
  • content/self-host/_index.en.md
  • content/self-host/_index.es.md
  • content/self-host/_index.fr.md
  • content/self-host/_index.it.md
  • content/self-host/_index.ja.md
  • content/self-host/_index.ko.md
  • content/self-host/_index.pl.md
  • content/self-host/_index.pt.md
  • content/self-host/_index.ro.md
  • content/self-host/_index.zh-cn.md
  • content/self-host/_index.zh-tw.md

Comment on lines +63 to +69
Ports `21115`-`21117` are the minimum required ports for RustDesk to work. These handle signal, relay, and NAT traversal.

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`.
For WSS configuration, TCP `21118` and TCP `21119` usually do not need to be exposed externally because they are accessed internally by the reverse proxy, such as Nginx. If you do not use WebSocket, these ports do not need to be exposed. Please refer to this [sample Nginx configuration](/docs/en/self-host/rustdesk-server-pro/faq/#8-add-websocket-secure-wss-support-for-the-id-server-and-relay-server-to-enable-secure-communication-for-all-platforms).

For Pro users without an SSL proxy, you need to open TCP port `21114` for the API to work. If HTTPS (`443`) is configured for the server, TCP `21114` does not need to be exposed to the Internet.

RustDesk also supports a deployment mode where only TCP `443` is exposed and all other ports are closed. With this configuration, communication can only work through WSS relay, and direct peer-to-peer connections are not available.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Clarify the external-port contract in every localized page.

The minimum-port sentence and the TCP 443-only sentence describe different exposure modes but do not say so. As written, readers can interpret 21115-21117 as always requiring external exposure, even though the 443-only mode closes them. The 21114 sentence should also require a reverse proxy that terminates HTTPS on 443 and forwards the API internally.

  • content/self-host/_index.en.md#L63-L69: Qualify the minimum ports and require HTTPS reverse-proxy forwarding.
  • content/self-host/_index.de.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.es.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.fr.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.it.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.ja.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.ko.md#L59-L65: Add the same deployment-mode qualification.
  • content/self-host/_index.pl.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.pt.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.ro.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.zh-cn.md#L52-L58: Add the same deployment-mode qualification.
  • content/self-host/_index.zh-tw.md#L52-L58: Add the same deployment-mode qualification.
Proposed English wording
-Ports `21115`-`21117` are the minimum required ports for RustDesk to work.
+For the standard deployment, ports `21115`-`21117` are the minimum ports to expose. In the TCP `443`-only WSS relay deployment, these ports remain internal and only TCP `443` is exposed.

-If HTTPS (`443`) is configured for the server, TCP `21114` does not need to be exposed to the Internet.
+If a reverse proxy terminates HTTPS on TCP `443` and forwards the Pro API to TCP `21114`, TCP `21114` does not need to be exposed to the Internet.
📍 Affects 12 files
  • content/self-host/_index.en.md#L63-L69 (this comment)
  • content/self-host/_index.de.md#L52-L58
  • content/self-host/_index.es.md#L52-L58
  • content/self-host/_index.fr.md#L52-L58
  • content/self-host/_index.it.md#L52-L58
  • content/self-host/_index.ja.md#L52-L58
  • content/self-host/_index.ko.md#L59-L65
  • content/self-host/_index.pl.md#L52-L58
  • content/self-host/_index.pt.md#L52-L58
  • content/self-host/_index.ro.md#L52-L58
  • content/self-host/_index.zh-cn.md#L52-L58
  • content/self-host/_index.zh-tw.md#L52-L58
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/self-host/_index.en.md` around lines 63 - 69, Clarify the
port-exposure modes in the RustDesk self-hosting port guidance: in
content/self-host/_index.en.md:63-69, qualify ports 21115-21117 as the minimum
external ports only when not using the TCP 443-only WSS deployment, and state
that the 21114 API port can remain internal only when an HTTPS reverse proxy
terminates on 443 and forwards it internally. Apply the equivalent localized
clarification to content/self-host/_index.de.md:52-58,
content/self-host/_index.es.md:52-58, content/self-host/_index.fr.md:52-58,
content/self-host/_index.it.md:52-58, content/self-host/_index.ja.md:52-58,
content/self-host/_index.ko.md:59-65, content/self-host/_index.pl.md:52-58,
content/self-host/_index.pt.md:52-58, content/self-host/_index.ro.md:52-58,
content/self-host/_index.zh-cn.md:52-58, and
content/self-host/_index.zh-tw.md:52-58.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant