--- title: Web weight: 23 --- ### Auf Linux erstellen 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`): ```sh git clone https://github.com/JelleBuning/rustdesk.git cd rustdesk 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 # Funktioniert nur mit vite ≤ 2.8, siehe https://github.com/vitejs/vite/blob/main/docs/guide/build.md#chunking-strategy 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 cd .. # Für Details zum YUV-Konverter siehe https://github.com/rustdesk/rustdesk/issues/364#issuecomment-1023562050 wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/web_deps.tar.gz # In den aktuellen Ordner entpacken tar xzf web_deps.tar.gz cd .. # Viel Glück! flutter run -d chrome ``` ### Version auf Linux erstellen 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 ``` 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. ### Mit Docker erstellen Führen Sie die folgenden Schritte unter Linux oder Mac aus: - 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). - Flutter-App lokal einrichten: ```sh git clone https://github.com/JelleBuning/rustdesk.git cd rustdesk 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 # Funktioniert nur mit vite ≤ 2.8, siehe https://github.com/vitejs/vite/blob/main/docs/guide/build.md#chunking-strategy 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 ``` - Erstellen Sie ein `Dockerfile` im Ordner `flutter` mit folgendem Inhalt: ```Dockerfile # Betriebssystem und Abhängigkeiten installieren FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update 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 # Flutter SDK vom GitHub-Repository herunterladen 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"] ``` - Legen Sie den Ordner `server` unter `flutter` an. - Erstellen Sie eine Datei `server.sh` im Ordner `flutter/server` mit folgendem Inhalt: ```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 # Ordner wechseln 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 ``` - Öffnen Sie Ihren Browser und gehen Sie zu `localhost:5000`, um die Webanwendung zu sehen. ### 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 ``` - Öffnen Sie Ihren Browser und gehen Sie zu `localhost:5000`, um die Webanwendung zu sehen.