Browse Source

Create README-DE.md

Mr-Update 2 years ago
parent
commit
1addf8c9eb
1 changed files with 345 additions and 0 deletions
  1. 345 0
      README-DE.md

+ 345 - 0
README-DE.md

@@ -0,0 +1,345 @@
1
+<p align="center">
2
+  <a href="#manuelles-erstellen">Erstellen</a> •
3
+  <a href="#docker-image">Docker</a> •
4
+  <a href="#s6-overlay-basierte-images">S6-Overlay</a> •
5
+  <a href="#ein-schlüsselpaar-erstellen">Schlüsselpaar</a> •
6
+  <a href="#debian-pakete">Debian-Pakete</a> •
7
+  <a href="#umgebungsvariablen">Umgebungsvariablen</a><br>
8
+  [<a href="README.md">English</a>] | [<a href="README-NL.md">Nederlands</a>]<br>
9
+</p>
10
+
11
+# RustDesk Server-Programm
12
+
13
+[![build](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml/badge.svg)](https://github.com/rustdesk/rustdesk-server/actions/workflows/build.yaml)
14
+
15
+[**Herunterladen**](https://github.com/rustdesk/rustdesk-server/releases)
16
+
17
+[**Handbuch**](https://rustdesk.com/docs/de/self-host/)
18
+
19
+[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
20
+
21
+Hosten Sie Ihren eigenen RustDesk-Server selbst, er ist kostenlos und quelloffen.
22
+
23
+## Manuelles Erstellen
24
+
25
+```bash
26
+cargo build --release
27
+```
28
+
29
+In target/release werden drei ausführbare Dateien erzeugt.
30
+
31
+- hbbs - RustDesk ID/Rendezvous-Server
32
+- hbbr - RustDesk Relay-Server
33
+- rustdesk-utils - RustDesk CLI-Utilities
34
+
35
+[Hier](https://github.com/rustdesk/rustdesk-server/releases) finden Sie aktualisierte Binärdateien.
36
+
37
+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.
38
+
39
+## Docker-Image
40
+
41
+Docker-Images werden automatisch generiert und bei jedem Github-Release veröffentlicht. Wir haben 2 Arten von Images.
42
+
43
+### Klassisches Image
44
+
45
+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:
46
+
47
+| Architektur | Image:Tag |
48
+| --- | --- |
49
+| amd64 | `rustdesk/rustdesk-server:latest` |
50
+| arm64v8 | `rustdesk/rustdesk-server:latest-arm64v8` |
51
+
52
+Sie können diese Images direkt mit `docker run` mit diesen Befehlen starten:
53
+
54
+```bash
55
+docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]> 
56
+docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr 
57
+```
58
+
59
+Oder ohne `--net=host`, aber die P2P-Direktverbindung kann dann nicht funktionieren.
60
+
61
+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.
62
+
63
+```bash
64
+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]> 
65
+docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr 
66
+```
67
+
68
+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.
69
+
70
+Sie können auch Docker Compose verwenden, wobei diese Konfiguration als Vorlage dient:
71
+
72
+```yaml
73
+version: '3'
74
+
75
+networks:
76
+  rustdesk-net:
77
+    external: false
78
+
79
+services:
80
+  hbbs:
81
+    container_name: hbbs
82
+    ports:
83
+      - 21115:21115
84
+      - 21116:21116
85
+      - 21116:21116/udp
86
+      - 21118:21118
87
+    image: rustdesk/rustdesk-server:latest
88
+    command: hbbs -r rustdesk.example.com:21117
89
+    volumes:
90
+      - ./data:/root
91
+    networks:
92
+      - rustdesk-net
93
+    depends_on:
94
+      - hbbr
95
+    restart: unless-stopped
96
+
97
+  hbbr:
98
+    container_name: hbbr
99
+    ports:
100
+      - 21117:21117
101
+      - 21119:21119
102
+    image: rustdesk/rustdesk-server:latest
103
+    command: hbbr
104
+    volumes:
105
+      - ./data:/root
106
+    networks:
107
+      - rustdesk-net
108
+    restart: unless-stopped
109
+```
110
+
111
+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.
112
+
113
+(Die Anerkennung für Docker Compose geht an @lukebarone und @QuiGonLeong.)
114
+
115
+## S6-Overlay-basierte Images
116
+
117
+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:
118
+
119
+| Architektur | Version | Image:Tag |
120
+| --- | --- | --- |
121
+| multiarch | neueste | `rustdesk/rustdesk-server-s6:latest` |
122
+| amd64 | neueste | `rustdesk/rustdesk-server-s6:latest-amd64` |
123
+| i386 | neueste | `rustdesk/rustdesk-server-s6:latest-i386` |
124
+| arm64v8 | neueste | `rustdesk/rustdesk-server-s6:latest-arm64v8` |
125
+| armv7 | neueste | `rustdesk/rustdesk-server-s6:latest-armv7` |
126
+| multiarch | 2 | `rustdesk/rustdesk-server-s6:2` |
127
+| amd64 | 2 | `rustdesk/rustdesk-server-s6:2-amd64` |
128
+| i386 | 2 | `rustdesk/rustdesk-server-s6:2-i386` |
129
+| arm64v8 | 2 | `rustdesk/rustdesk-server-s6:2-arm64v8` |
130
+| armv7 | 2 | `rustdesk/rustdesk-server-s6:2-armv7` |
131
+| multiarch | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0` |
132
+| amd64 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-amd64` |
133
+| i386 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-i386` |
134
+| arm64v8 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-arm64v8` |
135
+| armv7 | 2.0.0 | `rustdesk/rustdesk-server-s6:2.0.0-armv7` |
136
+
137
+Es wird dringend empfohlen, das Image `multiarch` entweder mit dem Tag `major version` oder `latest` zu verwenden.
138
+
139
+Das S6-Overlay fungiert als Supervisor und hält beide Prozesse am Laufen, sodass bei diesem Image keine zwei separaten Container benötigt werden.
140
+
141
+Sie können diese Images direkt mit `docker run` mit diesem Befehl starten:
142
+
143
+```bash
144
+docker run --name rustdesk-server \ 
145
+  --net=host \
146
+  -e "RELAY=rustdeskrelay.example.com" \
147
+  -e "ENCRYPTED_ONLY=1" \
148
+  -v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
149
+```
150
+
151
+oder ohne `--net=host`, aber die P2P-Direktverbindung kann dann nicht funktionieren.
152
+
153
+```bash
154
+docker run --name rustdesk-server \
155
+  -p 21115:21115 -p 21116:21116 -p 21116:21116/udp \
156
+  -p 21117:21117 -p 21118:21118 -p 21119:21119 \
157
+  -e "RELAY=rustdeskrelay.example.com" \
158
+  -e "ENCRYPTED_ONLY=1" \
159
+  -v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
160
+```
161
+
162
+Oder Sie können eine Docker Compose-Datei verwenden:
163
+
164
+```yaml
165
+version: '3'
166
+
167
+services:
168
+  rustdesk-server:
169
+    container_name: rustdesk-server
170
+    ports:
171
+      - 21115:21115
172
+      - 21116:21116
173
+      - 21116:21116/udp
174
+      - 21117:21117
175
+      - 21118:21118
176
+      - 21119:21119
177
+    image: rustdesk/rustdesk-server-s6:latest
178
+    environment:
179
+      - "RELAY=rustdesk.example.com:21117"
180
+      - "ENCRYPTED_ONLY=1"
181
+    volumes:
182
+      - ./data:/data
183
+    restart: unless-stopped
184
+```
185
+
186
+Für dieses Container-Image können Sie diese Umgebungsvariablen verwenden, **zusätzlich** zu den im Abschnitt **Umgebungsvariablen** angegebenen Variablen:
187
+
188
+| Variable | optional | Beschreibung |
189
+| --- | --- | --- |
190
+| RELAY | nein | IP-Adresse/DNS-Name des Rechners, auf dem dieser Container läuft |
191
+| ENCRYPTED_ONLY | ja | Wenn auf **1** gesetzt, wird eine unverschlüsselte Verbindung nicht akzeptiert |
192
+| KEY_PUB | ja | Öffentlicher Teil des Schlüsselpaares |
193
+| KEY_PRIV | ja | Privater Teil des Schlüsselpaares |
194
+
195
+### Verwaltung von Geheimnissen in S6-Overlay-basierten Images
196
+
197
+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.
198
+
199
+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.
200
+Dann wird die Gültigkeit des Schlüsselpaares überprüft: Wenn öffentlicher und privater Schlüssel nicht übereinstimmen, wird der Container angehalten.
201
+Wenn Sie keine Schlüssel angeben, erzeugt `hbbs` einen für Sie und legt ihn am Standardspeicherort ab.
202
+
203
+#### Umgebungsvariablen zum Speichern des Schlüsselpaars verwenden
204
+
205
+Sie können Docker-Umgebungsvariablen verwenden, um die Schlüssel zu speichern. Folgen Sie einfach diesen Beispielen:
206
+
207
+```bash
208
+docker run --name rustdesk-server \ 
209
+  --net=host \
210
+  -e "RELAY=rustdeskrelay.example.com" \
211
+  -e "ENCRYPTED_ONLY=1" \
212
+  -e "DB_URL=/db/db_v2.sqlite3" \
213
+  -e "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ==" \
214
+  -e "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE=" \
215
+  -v "$PWD/db:/db" -d rustdesk/rustdesk-server-s6:latest
216
+```
217
+
218
+```yaml
219
+version: '3'
220
+
221
+services:
222
+  rustdesk-server:
223
+    container_name: rustdesk-server
224
+    ports:
225
+      - 21115:21115
226
+      - 21116:21116
227
+      - 21116:21116/udp
228
+      - 21117:21117
229
+      - 21118:21118
230
+      - 21119:21119
231
+    image: rustdesk/rustdesk-server-s6:latest
232
+    environment:
233
+      - "RELAY=rustdesk.example.com:21117"
234
+      - "ENCRYPTED_ONLY=1"
235
+      - "DB_URL=/db/db_v2.sqlite3"
236
+      - "KEY_PRIV=FR2j78IxfwJNR+HjLluQ2Nh7eEryEeIZCwiQDPVe+PaITKyShphHAsPLn7So0OqRs92nGvSRdFJnE2MSyrKTIQ=="
237
+      - "KEY_PUB=iEyskoaYRwLDy5+0qNDqkbPdpxr0kXRSZxNjEsqykyE="
238
+    volumes:
239
+      - ./db:/db
240
+    restart: unless-stopped
241
+```
242
+
243
+#### Docker-Geheimnisse zum Speichern des Schlüsselpaars verwenden
244
+
245
+Sie können alternativ auch Docker-Geheimnisse verwenden, um die Schlüssel zu speichern.
246
+Dies ist nützlich, wenn Sie **Docker Compose** oder **Docker Swarm** verwenden.
247
+Folgen Sie einfach diesem Beispiel:
248
+
249
+```bash
250
+cat secrets/id_ed25519.pub | docker secret create key_pub -
251
+cat secrets/id_ed25519 | docker secret create key_priv -
252
+docker service create --name rustdesk-server \
253
+  --secret key_priv --secret key_pub \
254
+  --net=host \
255
+  -e "RELAY=rustdeskrelay.example.com" \
256
+  -e "ENCRYPTED_ONLY=1" \
257
+  -e "DB_URL=/db/db_v2.sqlite3" \
258
+  --mount "type=bind,source=$PWD/db,destination=/db" \
259
+  rustdesk/rustdesk-server-s6:latest
260
+```
261
+
262
+```yaml
263
+version: '3'
264
+
265
+services:
266
+  rustdesk-server:
267
+    container_name: rustdesk-server
268
+    ports:
269
+      - 21115:21115
270
+      - 21116:21116
271
+      - 21116:21116/udp
272
+      - 21117:21117
273
+      - 21118:21118
274
+      - 21119:21119
275
+    image: rustdesk/rustdesk-server-s6:latest
276
+    environment:
277
+      - "RELAY=rustdesk.example.com:21117"
278
+      - "ENCRYPTED_ONLY=1"
279
+      - "DB_URL=/db/db_v2.sqlite3"
280
+    volumes:
281
+      - ./db:/db
282
+    restart: unless-stopped
283
+    secrets:
284
+      - key_pub
285
+      - key_priv
286
+
287
+secrets:
288
+  key_pub:
289
+    file: secrets/id_ed25519.pub
290
+  key_priv:
291
+    file: secrets/id_ed25519      
292
+```
293
+
294
+## Ein Schlüsselpaar erstellen
295
+
296
+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.
297
+
298
+Mit diesem Befehl können Sie ein Schlüsselpaar erzeugen:
299
+
300
+```bash
301
+/usr/bin/rustdesk-utils genkeypair
302
+```
303
+
304
+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:
305
+
306
+```bash
307
+docker run --rm --entrypoint /usr/bin/rustdesk-utils  rustdesk/rustdesk-server-s6:latest genkeypair
308
+```
309
+
310
+Die Ausgabe sieht dann etwa so aus:
311
+
312
+```text
313
+Public Key:  8BLLhtzUBU/XKAH4mep3p+IX4DSApe7qbAwNH9nv4yA=
314
+Secret Key:  egAVd44u33ZEUIDTtksGcHeVeAwywarEdHmf99KM5ajwEsuG3NQFT9coAfiZ6nen4hfgNICl7upsDA0f2e/jIA==
315
+```
316
+
317
+## Debian-Pakete
318
+
319
+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.
320
+Diese Pakete sind für die folgenden Distributionen gedacht:
321
+
322
+- Ubuntu 22.04 LTS
323
+- Ubuntu 20.04 LTS
324
+- Ubuntu 18.04 LTS
325
+- Debian 11 Bullseye
326
+- Debian 10 Buster
327
+
328
+## Umgebungsvariablen
329
+
330
+hbbs und hbbr können mit diesen Umgebungsvariablen konfiguriert werden.
331
+Sie können die Variablen wie üblich angeben oder eine `.env`-Datei verwenden.
332
+
333
+| Variable | Binärdatei | Beschreibung |
334
+| --- | --- | --- |
335
+| ALWAYS_USE_RELAY | hbbs | Wenn auf **Y** gesetzt, wird eine direkte Verbindung nicht zugelassen. |
336
+| DB_URL | hbbs | Pfad für die Datenbankdatei |
337
+| DOWNGRADE_START_CHECK | hbbr | Verzögerung (in Sekunden) vor der Downgrade-Prüfung |
338
+| DOWNGRADE_THRESHOLD | hbbr | Schwellenwert der Downgrade-Prüfung (Bit/ms)) |
339
+| KEY | hbbs/hbbr | Wenn gesetzt, wird die Verwendung eines bestimmten Schlüssels erzwungen. Wenn auf **_** gesetzt, wird die Verwendung eines beliebigen Schlüssels erzwungen. |
340
+| LIMIT_SPEED | hbbr | Höchstgeschwindigkeit (in Mb/s) |
341
+| PORT | hbbs/hbbr | Lauschender Port (21116 für hbbs - 21117 für hbbr) |
342
+| RELAY_SERVERS | hbbs | IP-Adresse/DNS-Name der Rechner, auf denen hbbr läuft (durch Komma getrennt) |
343
+| RUST_LOG | all | Debug-Level einstellen (error\|warn\|info\|debug\|trace) |
344
+| SINGLE_BANDWIDTH | hbbr | Maximale Bandbreite für eine einzelne Verbindung (in Mb/s) |
345
+| TOTAL_BANDWIDTH | hbbr | Maximale Gesamtbandbreite (in Mb/s) |