In dieser Anleitung zeige ich euch wie ihr eine Linux Desktop Umgebung per Docker und Traefik bereitstellen könnt. Der Zugang zum Webtop erfolgt über euren Browser.
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
1. Ordner anlegen
Als erstes legst du dir einen Ordner an
mkdir -p /opt/containers/webtop
2. Docker Compose Datei anlegen
Danach erstellen wir eine docker-compose.yml Datei
nano /opt/containers/webtop/docker-compose.yml
und kopieren dann folgendes hinein:
services: webtop: image: lscr.io/linuxserver/webtop:ubuntu-mate #Desktopumgebung festlegen container_name: webtop security_opt: - seccomp:unconfined #optional networks: - proxy environment: - PUID=1000 - PGID=1000 - TZ=Europe/Copenhagen #Zeitzone - SUBFOLDER=/ #optional - TITLE=Desktop #Browser Title - CUSTOM_USER=username # Bitte für das Login anpassen - PASSWORD=password # Bitte ändern - LC_ALL=de_DE.UTF-8 #Sprache einstellen - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PACKAGES=libfuse2|git|gdb|iputils-ping|vim #Programme die per default installiert werden volumes: - ./config:/config - ./home:/home - /var/run/docker.sock:/var/run/docker.sock #optional labels: - "traefik.enable=true" - "traefik.http.routers.webtop.entrypoints=websecure" - "traefik.http.routers.webtop.rule=Host(`webtop.meinedomain.de`)" - "traefik.http.routers.webtop.tls=true" - "traefik.http.routers.webtop.tls.certresolver=http_resolver" - "traefik.http.routers.webtop.service=webtop" - "traefik.http.services.webtop.loadbalancer.server.port=3000" - "traefik.docker.network=proxy" - "traefik.http.routers.webtop.middlewares=default@file" devices: - /dev/dri:/dev/dri #optional shm_size: "1gb" #Angabe, wie viel RAM Webtop benutzen darf - optional restart: unless-stopped networks: proxy: external: true
Ändere folgendes ab:
webtop:ubuntu-mate
Hier die gewünschte Linux Distribution und Desktop-Umgebung auswählen: VersionstagsTZ=Europe/Copenhagen
Zeitzone festlegen: Zeitzonen ListeCUSTOM_USER=username
Username für den Browserlogin (abc ist default)PASSWORD=password
Userpasswort für den Browserlogin (abc ist default)LC_ALL=de_DE.UTF-8
Systemsprache festlegenINSTALL_PACKAGES=libfuse2|....
Programme die nach einem Start des Containers vorhanden sein sollenwebtop.meinedomain.de
Eigene Domain eintragen
3. Starten des Containers
docker compose -f /opt/containers/webtop/docker-compose.yml up -d
4. Login und mehr
4.1 Login in den Browser
4.2 Zwischenablage erlauben
4.3 Webtop Informelles
- Als Browser hat sich Chrome am performantesten gezeigt.
- Der default Systembenutzer ist
abc
, das default Benutzerpasswort innerhalb des Systems istabc
. - Unter Menü->Kontrollzentrum->Persönlich lässt sich das Passwort ändern (natürlich auch mit
passwd
). - Der User abc ist auch sudo berechtigt (ohne Kennwort).
- Das Home Verzeichnis ist
/config
.
4.4 Programme installieren
Alle Programme welche nicht im User-Context installiert werden, sind nach einem Neustart des Containers nicht mehr vorhanden (ähnlich den damaligen Wächterkarten). Aus dem Grund werden auch System-Programme über die Compose Datei beim Starten installiert (INSTALL_PACKAGES=libfuse2|..
).
Programme die allerdings auch im User-Context funktionieren können mittels proot-apps
installiert werden. Eine Liste aller proot-apps Programme findest du hier.
proot-apps install firefox
5. Quellen
https://docs.linuxserver.io/images/docker-webtop/
https://github.com/linuxserver/docker-webtop
Super Anleitung Espo
🙂 danke
Hatte selber mit dem gedanken gespielt 🙂