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-mateHier die gewünschte Linux Distribution und Desktop-Umgebung auswählen: VersionstagsTZ=Europe/CopenhagenZeitzone festlegen: Zeitzonen ListeCUSTOM_USER=usernameUsername für den Browserlogin (abc ist default)PASSWORD=passwordUserpasswort für den Browserlogin (abc ist default)LC_ALL=de_DE.UTF-8Systemsprache festlegenINSTALL_PACKAGES=libfuse2|....Programme die nach einem Start des Containers vorhanden sein sollenwebtop.meinedomain.deEigene 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 🙂