doc.rustdesk.com/content/dev/build/web/_index.de.md

177 lines
4.9 KiB
Markdown
Raw Normal View History

2022-05-13 20:30:36 +02:00
---
2023-07-15 14:36:30 +02:00
title: Web
2022-05-13 20:30:36 +02:00
weight: 23
---
2023-10-12 21:49:51 +02:00
### Auf Linux erstellen
2023-06-03 22:38:10 +02:00
2023-01-20 17:40:33 +01:00
Führen Sie die folgenden Schritte unter Linux oder Mac aus (funktioniert auch unter Windows, allerdings müssen Sie einige Befehle leicht abändern, z. B. `wget` in `curl.exe -O`):
2023-01-14 23:19:17 +01:00
```sh
2023-06-03 22:38:10 +02:00
git clone https://github.com/JelleBuning/rustdesk.git
2023-07-15 14:36:30 +02:00
cd rustdesk
git switch fix_build
2023-06-03 22:38:10 +02:00
cd flutter/web/js
2023-01-14 23:19:17 +01:00
2023-01-20 17:40:33 +01:00
# Zuerst protoc installieren, siehe https://google.github.io/proto-lens/installing-protoc.html
2023-01-14 23:19:17 +01:00
npm install ts-proto
2023-09-09 22:04:54 +02:00
# Funktioniert nur mit vite ≤ 2.8, siehe https://github.com/vitejs/vite/blob/main/docs/guide/build.md#chunking-strategy
2023-06-03 22:38:10 +02:00
npm install vite@2.8
# Für die Erstellung von yarn erforderlich
npm install yarn -g
npm install typescript -g
npm install protoc -g
2023-01-14 23:19:17 +01:00
yarn build
cd ..
2023-01-20 17:40:33 +01:00
# Für Details zum YUV-Konverter siehe https://github.com/rustdesk/rustdesk/issues/364#issuecomment-1023562050
2023-01-14 23:19:17 +01:00
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/web_deps.tar.gz
2023-07-15 14:36:30 +02:00
# In den aktuellen Ordner entpacken
2023-01-14 23:19:17 +01:00
tar xzf web_deps.tar.gz
cd ..
# Viel Glück!
flutter run -d chrome
```
2023-10-12 21:49:51 +02:00
### Version auf Linux erstellen
2023-07-15 14:36:30 +02:00
Wenn Sie den Webclient hosten wollen, sollten Sie eine Version erstellen, bevor Sie ihn auf einem Webserver ausführen.
Führen Sie dazu die oben beschriebenen Schritte aus, mit Ausnahme des Befehls `flutter run -d chrome`. Fahren Sie mit den folgenden Befehlen fort:
```sh
flutter build web --release
cd build/web
# Sie können jeden beliebigen Server verwenden, hier nur ein Beispiel
python -m http.server 8000
```
2023-07-15 14:36:30 +02:00
Um die Erstellung auf HTTPS zu konfigurieren, empfehlen wir, dieser [Anleitung](https://medium.com/flutter-community/how-to-host-flutter-using-nginx-a71bcb11d96) zu folgen.
> Derzeit sind YUV-Konverter und VP9 der Engpass.
2023-06-03 22:38:10 +02:00
2023-10-12 21:49:51 +02:00
### Mit Docker erstellen
2023-06-03 22:38:10 +02:00
Führen Sie die folgenden Schritte unter Linux oder Mac aus:
2023-09-09 22:04:54 +02:00
- Beginnen Sie mit der Installation von flutter für [Linux](https://docs.flutter.dev/get-started/install/linux#install-flutter-manually) oder [macOS](https://docs.flutter.dev/get-started/install/macos).
2023-06-03 22:38:10 +02:00
- Flutter-App lokal einrichten:
```sh
git clone https://github.com/JelleBuning/rustdesk.git
2023-07-15 14:36:30 +02:00
cd rustdesk
2023-06-03 22:38:10 +02:00
git switch fix_build
cd flutter/web/js
# Zuerst protoc installieren, siehe https://google.github.io/proto-lens/installing-protoc.html
npm install ts-proto
2023-09-09 22:04:54 +02:00
# Funktioniert nur mit vite ≤ 2.8, siehe https://github.com/vitejs/vite/blob/main/docs/guide/build.md#chunking-strategy
2023-06-03 22:38:10 +02:00
npm install vite@2.8
# Für die Erstellung von yarn erforderlich
npm install yarn -g
npm install typescript -g
npm install protoc -g
yarn build
```
2023-07-15 14:36:30 +02:00
- Erstellen Sie ein `Dockerfile` im Ordner `flutter` mit folgendem Inhalt:
2023-06-03 22:38:10 +02:00
```Dockerfile
# Betriebssystem und Abhängigkeiten installieren
FROM ubuntu:20.04
2023-07-15 14:36:30 +02:00
ENV DEBIAN_FRONTEND=noninteractive
2023-06-03 22:38:10 +02:00
2023-07-15 14:36:30 +02:00
RUN apt-get update
2023-06-03 22:38:10 +02:00
RUN apt-get install -y curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback lib32stdc++6 python3 clang cmake ninja-build pkg-config libgtk-3-dev
RUN apt-get clean
2023-07-15 14:36:30 +02:00
# Flutter SDK vom GitHub-Repository herunterladen
2023-06-03 22:38:10 +02:00
RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter
# Flutter-Umgebungspfad einstellen
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
# flutter doctor ausführen
RUN flutter doctor
# flutter web aktivieren
RUN flutter channel master
RUN flutter upgrade
RUN flutter config --enable-web
# Dateien in den Container kopieren und erstellen
RUN mkdir /app/
# Die Web-App kann nicht aus dem Dockerfile gebaut werden.
# Stattdessen wird sie lokal gebaut und "flutter build web" wird auskommentiert.
COPY . /app/
WORKDIR /app/
# RUN flutter build web
# Erfassung des offenen Ports
EXPOSE 5000
# Startskript des Servers ausführbar machen und den Webserver starten
RUN ["chmod", "+x", "/app/server/server.sh"]
ENTRYPOINT [ "/app/server/server.sh"]
```
2023-09-09 22:04:54 +02:00
- Legen Sie den Ordner `server` unter `flutter` an.
2023-07-15 14:36:30 +02:00
- Erstellen Sie eine Datei `server.sh` im Ordner `flutter/server` mit folgendem Inhalt:
2023-06-03 22:38:10 +02:00
```sh
#!/bin/bash
# Port festlegen
PORT=5000
# Anhalten aller Programme, die derzeit auf dem eingestellten Port laufen
echo 'Vorbereitung des Ports' $PORT '...'
fuser -k 5000/tcp
2023-07-15 14:36:30 +02:00
# Ordner wechseln
2023-06-03 22:38:10 +02:00
cd build/web/
# Server starten
echo 'Server startet auf Port' $PORT '...'
python3 -m http.server $PORT
```
- Das Docker-Image erstellen:
```sh
docker build -t rustdesk-web-client .
```
- Das Docker-Image ausführen:
```sh
docker run -p 5000:5000 rustdesk-web-client
```
2023-09-09 22:04:54 +02:00
- Öffnen Sie Ihren Browser und gehen Sie zu `localhost:5000`, um die Webanwendung zu sehen.
2023-06-03 22:38:10 +02:00
### RustDesk-Webclient mit vorhandenem Docker-Image
Wenn Sie das Docker-Image nicht selbst erstellen möchten, können Sie das Image auf [Docker Hub](https://hub.docker.com/r/keyurbhole/flutter_web_desk) verwenden.
- Das Image ziehen:
```sh
docker pull keyurbhole/flutter_web_desk
```
- Das Docker-Image ausführen:
```sh
docker run -p 5000:5000 keyurbhole/flutter_web_desk
```
2023-09-09 22:04:54 +02:00
- Öffnen Sie Ihren Browser und gehen Sie zu `localhost:5000`, um die Webanwendung zu sehen.