aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRustDesk <[email protected]>2023-05-09 19:23:18 +0800
committerGitHub <[email protected]>2023-05-09 19:23:18 +0800
commit482d7fb8ccaf671170f5a8fa93af2d91b27d583f (patch)
tree7efb2b4cf59067d630de718229453a183b07e05e
parent1f7d3fa05ce6c8b3198a29a4a5a8095419608fe3 (diff)
parentc291900e377afce4e86f8ce489f88f576cfca372 (diff)
downloadrustdesk-server-482d7fb8ccaf671170f5a8fa93af2d91b27d583f.tar.gz
rustdesk-server-482d7fb8ccaf671170f5a8fa93af2d91b27d583f.zip
Merge pull request #247 from Mr-Update/master
Create README-DE.md
-rw-r--r--README-DE.md345
-rw-r--r--README-NL.md16
-rw-r--r--README.md16
3 files changed, 371 insertions, 6 deletions
diff --git a/README-DE.md b/README-DE.md
new file mode 100644
index 0000000..dc177cc
--- /dev/null
+++ b/README-DE.md
@@ -0,0 +1,345 @@
+<p align="center">
+ <a href="#manuelles-erstellen">Erstellen</a> •
+ <a href="#docker-image">Docker</a> •
+ <a href="#s6-overlay-basierte-images">S6-Overlay</a> •
+ <a href="#ein-schlüsselpaar-erstellen">Schlüsselpaar</a> •
+ <a href="#debian-pakete">Debian-Pakete</a> •
+ <a href="#umgebungsvariablen">Umgebungsvariablen</a><br>
+ [<a href="README.md">English</a>] | [<a href="README-NL.md">Nederlands</a>]<br>
+</p>
+
+# RustDesk Server-Programm
+
+[![build](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml/badge.svg)](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml)
+
+[**Herunterladen**](https://github.com/rustdesk/rustdesk-server/releases)
+
+[**Handbuch**](https://rustdesk.com/docs/de/self-host/)
+
+[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
+
+Hosten Sie Ihren eigenen RustDesk-Server selbst, er ist kostenlos und quelloffen.
+
+## Manuelles Erstellen
+
+```bash
+cargo build --release
+```
+
+In target/release werden drei ausführbare Dateien erzeugt.
+
+- hbbs - RustDesk ID/Rendezvous-Server
+- hbbr - RustDesk Relay-Server
+- rustdesk-utils - RustDesk CLI-Utilities
+
+[Hier](https://github.com/rustdesk/rustdesk-server/releases) finden Sie aktualisierte Binärdateien.
+
+Wenn Sie Ihren eigenen Server entwickeln wollen, könnte [rustdesk-server-demo](https://github.com/rustdesk/rustdesk-server-demo) ein besserer und einfacherer Start für Sie sein als dieses Repository.
+
+## Docker-Image
+
+Docker-Images werden automatisch generiert und bei jedem Github-Release veröffentlicht. Wir haben 2 Arten von Images.
+
+### Klassisches Image
+
+Diese Images sind mit `Ubuntu 20.04` gebaut, mit dem Zusatz der wichtigen Binärdateien (`hbbr` und `hbbs`). Sie sind auf [Docker hub](https://hub.docker.com/r/rustdesk/rustdesk-server/) mit diesen Tags verfügbar:
+
+| Architektur | Image:Tag |
+| --- | --- |
+| amd64 | `rustdesk/rustdesk-server:latest` |
+| arm64v8 | `rustdesk/rustdesk-server:latest-arm64v8` |
+
+Sie können diese Images direkt mit `docker run` mit diesen Befehlen starten:
+
+```bash
+docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
+docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
+```
+
+Oder ohne `--net=host`, aber die P2P-Direktverbindung kann dann nicht funktionieren.
+
+Bei Systemen, die SELinux verwenden, muss `/root` durch `/root:z` ersetzt werden, damit die Container korrekt laufen. Alternativ kann die SELinux-Containertrennung durch Hinzufügen der Option `--security-opt label=disable` vollständig deaktiviert werden.
+
+```bash
+docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
+docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
+```
+
+Der Parameter `relay-server-ip` ist die IP-Adresse (oder der DNS-Name) des Servers, auf dem diese Container laufen. Der **optionale** Parameter `port` muss verwendet werden, wenn Sie einen anderen Port als **21117** für `hbbr` verwenden.
+
+Sie können auch Docker Compose verwenden, wobei diese Konfiguration als Vorlage dient:
+
+```yaml
+version: '3'
+
+networks:
+ rustdesk-net:
+ external: false
+
+services:
+ hbbs:
+ container_name: hbbs
+ ports:
+ - 21115:21115
+ - 21116:21116
+ - 21116:21116/udp
+ - 21118:21118
+ image: rustdesk/rustdesk-server:latest
+ command: hbbs -r rustdesk.example.com:21117
+ volumes:
+ - ./data:/root
+ networks:
+ - rustdesk-net
+ depends_on:
+ - hbbr
+ restart: unless-stopped
+
+ hbbr:
+ container_name: hbbr
+ ports:
+ - 21117:21117
+ - 21119:21119
+ image: rustdesk/rustdesk-server:latest
+ command: hbbr
+ volumes:
+ - ./data:/root
+ networks:
+ - rustdesk-net
+ restart: unless-stopped
+```
+
+Bearbeiten Sie Zeile 16 so, dass sie auf Ihren Relay-Server verweist (den, der am Port 21117 lauscht). Sie können auch die Zeilen für die Volumes (Zeile 18 und 33) bearbeiten, wenn Sie dies wünschen.
+
+(Die Anerkennung für Docker Compose geht an @lukebarone und @QuiGonLeong.)
+
+## S6-Overlay-basierte Images
+
+Diese Images sind mit `busybox:stable` gebaut, mit dem Zusatz Binärdateien (sowohl hbbr als auch hbbs) und [S6-overlay](https://github.com/just-containers/s6-overlay). Sie sind auf [Docker hub](https://hub.docker.com/r/rustdesk/rustdesk-server-s6/) mit diesen Tags verfügbar:
+
+| Architektur | Version | Image:Tag |
+| --- | --- | --- |
+| multiarch | neueste | `rustdesk/rustdesk-server-s6:latest` |
+| amd64 | neueste | `rustdesk/rustdesk-server-s6:latest-amd64` |
+| i386 | neueste | `rustdesk/rustdesk-server-s6:latest-i386` |
+| arm64v8 | neueste | `rustdesk/rustdesk-server-s6:latest-arm64v8` |
+| armv7 | neueste | `rustdesk/rustdesk-server-s6:latest-armv7` |
+| multiarch | 2 | `rustdesk/rustdesk-server-s6:2` |
+| amd64 | 2 | `rustdesk/rustdesk-server-s6:2-amd64` |
+| i386 | 2 | `rustdesk/rustdesk-server-s6:2-i386` |
+| arm64v8 | 2 | `rustdesk/rustdesk-server-s6:2-arm64v8` |
+| armv7 | 2 | `rustdesk/rustdesk-server-s6:2-armv7` |
+| multiarch | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0` |
+| amd64 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-amd64` |
+| i386 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-i386` |
+| arm64v8 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-arm64v8` |
+| armv7 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-armv7` |
+
+Es wird dringend empfohlen, das Image `multiarch` entweder mit dem Tag `major version` oder `latest` zu verwenden.
+
+Das S6-Overlay fungiert als Supervisor und hält beide Prozesse am Laufen, sodass bei diesem Image keine zwei separaten Container benötigt werden.
+
+Sie können diese Images direkt mit `docker run` mit diesem Befehl starten:
+
+```bash
+docker run --name rustdesk-server \
+ --net=host \
+ -e "RELAY=rustdeskrelay.example.com" \
+ -e "ENCRYPTED_ONLY=1" \
+ -v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
+```
+
+oder ohne `--net=host`, aber die P2P-Direktverbindung kann dann nicht funktionieren.
+
+```bash
+docker run --name rustdesk-server \
+ -p 21115:21115 -p 21116:21116 -p 21116:21116/udp \
+ -p 21117:21117 -p 21118:21118 -p 21119:21119 \
+ -e "RELAY=rustdeskrelay.example.com" \
+ -e "ENCRYPTED_ONLY=1" \
+ -v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
+```
+
+Oder Sie können eine Docker Compose-Datei verwenden:
+
+```yaml
+version: '3'
+
+services:
+ rustdesk-server:
+ container_name: rustdesk-server
+ ports:
+ - 21115:21115
+ - 21116:21116
+ - 21116:21116/udp
+ - 21117:21117
+ - 21118:21118
+ - 21119:21119
+ image: rustdesk/rustdesk-server-s6:latest
+ environment:
+ - "RELAY=rustdesk.example.com:21117"
+ - "ENCRYPTED_ONLY=1"
+ volumes:
+ - ./data:/data
+ restart: unless-stopped
+```
+
+Für dieses Container-Image können Sie diese Umgebungsvariablen verwenden, **zusätzlich** zu den im Abschnitt **Umgebungsvariablen** angegebenen Variablen:
+
+| Variable | optional | Beschreibung |
+| --- | --- | --- |
+| RELAY | nein | IP-Adresse/DNS-Name des Rechners, auf dem dieser Container läuft |
+| ENCRYPTED_ONLY | ja | Wenn auf **1** gesetzt, wird eine unverschlüsselte Verbindung nicht akzeptiert |
+| KEY_PUB | ja | Öffentlicher Teil des Schlüsselpaares |
+| KEY_PRIV | ja | Privater Teil des Schlüsselpaares |
+
+### Verwaltung von Geheimnissen in S6-Overlay-basierten Images
+
+Sie können das Schlüsselpaar natürlich in einem Docker-Volume aufbewahren, aber empfehlenswert ist, die Schlüssel nicht in das Dateisystem zu schreiben.
+
+Beim Start des Containers wird das Vorhandensein des Schlüsselpaares geprüft (`/data/id_ed25519.pub` und `/data/id_ed25519`). Wenn einer dieser Schlüssel nicht existiert, wird er aus den Umgebungsvariablen oder den Docker-Geheimnissen neu erstellt.
+Dann wird die Gültigkeit des Schlüsselpaares überprüft: Wenn öffentlicher und privater Schlüssel nicht übereinstimmen, wird der Container angehalten.
+Wenn Sie keine Schlüssel angeben, erzeugt `hbbs` einen für Sie und legt ihn am Standardspeicherort ab.
+
+#### Umgebungsvariablen zum Speichern des Schlüsselpaars verwenden
+
+Sie können Docker-Umgebungsvariablen verwenden, um die Schlüssel zu speichern. Folgen Sie einfach diesen Beispielen:
+
+```bash
+docker run --name rustdesk-server \
+ --net=host \
+ -e "RELAY=rustdeskrelay.example.com" \
+ -e "ENCRYPTED_ONLY=1" \
+ -e "DB_URL=/db/db_v2.sqlite3" \
+ -e "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ==" \
+ -e "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE=" \
+ -v "$PWD/db:/db" -d rustdesk/rustdesk-server-s6:latest
+```
+
+```yaml
+version: '3'
+
+services:
+ rustdesk-server:
+ container_name: rustdesk-server
+ ports:
+ - 21115:21115
+ - 21116:21116
+ - 21116:21116/udp
+ - 21117:21117
+ - 21118:21118
+ - 21119:21119
+ image: rustdesk/rustdesk-server-s6:latest
+ environment:
+ - "RELAY=rustdesk.example.com:21117"
+ - "ENCRYPTED_ONLY=1"
+ - "DB_URL=/db/db_v2.sqlite3"
+ - "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ=="
+ - "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE="
+ volumes:
+ - ./db:/db
+ restart: unless-stopped
+```
+
+#### Docker-Geheimnisse zum Speichern des Schlüsselpaars verwenden
+
+Sie können alternativ auch Docker-Geheimnisse verwenden, um die Schlüssel zu speichern.
+Dies ist nützlich, wenn Sie **Docker Compose** oder **Docker Swarm** verwenden.
+Folgen Sie einfach diesem Beispiel:
+
+```bash
+cat secrets/id_ed25519.pub | docker secret create key_pub -
+cat secrets/id_ed25519 | docker secret create key_priv -
+docker service create --name rustdesk-server \
+ --secret key_priv --secret key_pub \
+ --net=host \
+ -e "RELAY=rustdeskrelay.example.com" \
+ -e "ENCRYPTED_ONLY=1" \
+ -e "DB_URL=/db/db_v2.sqlite3" \
+ --mount "type=bind,source=$PWD/db,destination=/db" \
+ rustdesk/rustdesk-server-s6:latest
+```
+
+```yaml
+version: '3'
+
+services:
+ rustdesk-server:
+ container_name: rustdesk-server
+ ports:
+ - 21115:21115
+ - 21116:21116
+ - 21116:21116/udp
+ - 21117:21117
+ - 21118:21118
+ - 21119:21119
+ image: rustdesk/rustdesk-server-s6:latest
+ environment:
+ - "RELAY=rustdesk.example.com:21117"
+ - "ENCRYPTED_ONLY=1"
+ - "DB_URL=/db/db_v2.sqlite3"
+ volumes:
+ - ./db:/db
+ restart: unless-stopped
+ secrets:
+ - key_pub
+ - key_priv
+
+secrets:
+ key_pub:
+ file: secrets/id_ed25519.pub
+ key_priv:
+ file: secrets/id_ed25519
+```
+
+## Ein Schlüsselpaar erstellen
+
+Für die Verschlüsselung wird ein Schlüsselpaar benötigt, das Sie bereitstellen können, aber Sie benötigen eine Möglichkeit, es zu erstellen.
+
+Mit diesem Befehl können Sie ein Schlüsselpaar erzeugen:
+
+```bash
+/usr/bin/rustdesk-utils genkeypair
+```
+
+Wenn Sie das Paket `rustdesk-utils` nicht auf Ihrem System installiert haben (oder dies nicht wollen), können Sie den gleichen Befehl mit Docker aufrufen:
+
+```bash
+docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
+```
+
+Die Ausgabe sieht dann etwa so aus:
+
+```text
+Public Key: 8BLLhtzUBU/XKAH4mep3p+IX4DSApe7qbAwNH9nv4yA=
+Secret Key: egAVd44u33ZEUIDTtksGcHeVeAwywarEdHmf99KM5ajwEsuG3NQFT9coAfiZ6nen4hfgNICl7upsDA0f2e/jIA==
+```
+
+## Debian-Pakete
+
+Für jede Binärdatei stehen separate Debian-Pakete zur Verfügung, die Sie in [Releases](https://github.com/rustdesk/rustdesk-server/releases) finden können.
+Diese Pakete sind für die folgenden Distributionen gedacht:
+
+- Ubuntu 22.04 LTS
+- Ubuntu 20.04 LTS
+- Ubuntu 18.04 LTS
+- Debian 11 Bullseye
+- Debian 10 Buster
+
+## Umgebungsvariablen
+
+hbbs und hbbr können mit diesen Umgebungsvariablen konfiguriert werden.
+Sie können die Variablen wie üblich angeben oder eine `.env`-Datei verwenden.
+
+| Variable | Binärdatei | Beschreibung |
+| --- | --- | --- |
+| ALWAYS_USE_RELAY | hbbs | Wenn auf **Y** gesetzt, wird eine direkte Verbindung nicht zugelassen. |
+| DB_URL | hbbs | Pfad für die Datenbankdatei |
+| DOWNGRADE_START_CHECK | hbbr | Verzögerung (in Sekunden) vor der Downgrade-Prüfung |
+| DOWNGRADE_THRESHOLD | hbbr | Schwellenwert der Downgrade-Prüfung (Bit/ms)) |
+| KEY | hbbs/hbbr | Wenn gesetzt, wird die Verwendung eines bestimmten Schlüssels erzwungen. Wenn auf **_** gesetzt, wird die Verwendung eines beliebigen Schlüssels erzwungen. |
+| LIMIT_SPEED | hbbr | Höchstgeschwindigkeit (in Mb/s) |
+| PORT | hbbs/hbbr | Lauschender Port (21116 für hbbs - 21117 für hbbr) |
+| RELAY_SERVERS | hbbs | IP-Adresse/DNS-Name der Rechner, auf denen hbbr läuft (durch Komma getrennt) |
+| RUST_LOG | all | Debug-Level einstellen (error\|warn\|info\|debug\|trace) |
+| SINGLE_BANDWIDTH | hbbr | Maximale Bandbreite für eine einzelne Verbindung (in Mb/s) |
+| TOTAL_BANDWIDTH | hbbr | Maximale Gesamtbandbreite (in Mb/s) |
diff --git a/README-NL.md b/README-NL.md
index dcf3c95..e134c74 100644
--- a/README-NL.md
+++ b/README-NL.md
@@ -1,3 +1,13 @@
+<p align="center">
+ <a href="#hoe-handmatig-opbouwen">Opbouwen</a> •
+ <a href="#docker-bestanden-images">Docker</a> •
+ <a href="#s6-overlay-gebaseerde-bestanden">S6-Overlay</a> •
+ <a href="#hoe-maak-je-een-key-paar">Key paar</a> •
+ <a href="#deb-pakketten">Debian pakketten</a> •
+ <a href="#env-variabelen">ENV variabelen</a><br>
+ [<a href="README.md">English</a>] | [<a href="README-DE.md">Deutsch</a>]<br>
+</p>
+
# RustDesk Server Programa
[![build](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml/badge.svg)](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml)
@@ -46,7 +56,7 @@ docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-serv
docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
```
-of zonder --net=host, maar een directe P2P verbinding zal niet werken.
+of zonder `--net=host`, maar een directe P2P verbinding zal niet werken.
Voor systemen die SELinux gebruiken is het vervangen van `/root` door `/root:z` nodig om de containers correct te laten draaien. Als alternatief kan SELinux containerscheiding volledig worden uitgeschakeld door de optie `--security-opt label=disable` toe te voegen.
@@ -138,7 +148,7 @@ docker run --name rustdesk-server \
-v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
```
-of zonder --net=host, maar een directe P2P verbinding zal niet werken.
+of zonder `--net=host`, maar een directe P2P verbinding zal niet werken.
```bash
docker run --name rustdesk-server \
@@ -330,6 +340,6 @@ U kunt de variabelen zoals gebruikelijk opgeven of een `.env` bestand gebruiken.
| LIMIT_SPEED | hbbr | snelheidslimiet (in Mb/s) |
| PORT | hbbs/hbbr | luister-poort (21116 voor hbbs - 21117 voor hbbr) |
| RELAY_SERVERS | hbbs | IP-adres/DNS-naam van de machines waarop hbbr draait (gescheiden door komma) |
-| RUST_LOG | all | debug-niveau instellen (error|warn|info|debug|trace) |
+| RUST_LOG | all | debug-niveau instellen (error\|warn\|info\|debug\|trace) |
| SINGLE_BANDWIDTH | hbbr | maximale bandbreedte voor een enkele verbinding (in Mb/s) |
| TOTAL_BANDWIDTH | hbbr | maximale totale bandbreedte (in Mb/s) |
diff --git a/README.md b/README.md
index 52b5ebc..3842634 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,13 @@
+<p align="center">
+ <a href="#how-to-build-manually">Manually</a> •
+ <a href="#docker-images">Docker</a> •
+ <a href="#s6-overlay-based-images">S6-overlay</a> •
+ <a href="#how-to-create-a-keypair">Keypair</a> •
+ <a href="#deb-packages">Debian</a> •
+ <a href="#env-variables">Variables</a><br>
+ [<a href="README-DE.md">Deutsch</a>] | [<a href="README-NL.md">Nederlands</a>]<br>
+</p>
+
# RustDesk Server Program
[![build](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml/badge.svg)](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml)
@@ -46,7 +56,7 @@ docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-serv
docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
```
-or without --net=host, but P2P direct connection can not work.
+or without `--net=host`, but P2P direct connection can not work.
For systems using SELinux, replacing `/root` by `/root:z` is required for the containers to run correctly. Alternatively, SELinux container separation can be disabled completely adding the option `--security-opt label=disable`.
@@ -98,7 +108,7 @@ services:
restart: unless-stopped
```
-Edit line 16 to point to your relay server (the one listening on port 21117). You can also edit the volume lines (L18 and L33) if you need.
+Edit line 16 to point to your relay server (the one listening on port 21117). You can also edit the volume lines (line 18 and line 33) if you need.
(docker-compose credit goes to @lukebarone and @QuiGonLeong)
@@ -138,7 +148,7 @@ docker run --name rustdesk-server \
-v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
```
-or without --net=host, but P2P direct connection cannot work.
+or without `--net=host`, but P2P direct connection cannot work.
```bash
docker run --name rustdesk-server \