Kasm Workspaces streamt containerisierte Desktops und Browser in Ihren eigenen Browser, sodass Sie von überall einen Wegwerf-Chrome oder einen vollständigen Linux-Desktop öffnen können. Auf einem Infrawire Linux-VPS ist die Single-Server-Edition der einfachste Weg, es zu betreiben. Diese Anleitung zielt auf Ubuntu 24.04 (Ubuntu 22.04 funktioniert genauso).
📋 Voraussetzungen
- Ein frischer KVM-VPS mit Ubuntu, SSH-Zugang als root und kein anderer Dienst auf Port 443. In Ihrem Kundenbereich finden Sie die IP und das Root-Passwort des VPS.
- Kasm empfiehlt für die Basisinstallation mindestens 2 CPU-Kerne, 4 GB RAM und 50 GB SSD-Speicher; jede laufende Workspace benötigt zusätzlich Arbeitsspeicher. Planen Sie mehr RAM ein, wenn mehrere Benutzer gleichzeitig arbeiten.
- Eine Domain wie
kasm.example.com, die aufVPS_IPzeigt, wenn Sie ein vertrauenswürdiges HTTPS-Zertifikat möchten.
🔄 1. Server vorbereiten
Bashssh root@VPS_IP apt update && apt -y upgrade && apt -y install curl
Kasm installiert Docker selbst, richten Sie also vorher keine andere Container-Laufzeit ein. Starten Sie neu, wenn ein neuer Kernel installiert wurde.
⬇️ 2. Neueste Version herunterladen
Die Versionsnummer ändert sich regelmäßig, kopieren Sie sie daher nicht aus einer alten Anleitung. Öffnen Sie die offizielle Download-Seite (https://kasmweb.com/downloads) oder die Anleitung zur Single-Server-Installation (https://kasmweb.com/docs/latest/install/single_server_install.html), kopieren Sie den Link zum aktuellen Release-Archiv für den Single-Server-Installer und setzen Sie ihn unten anstelle von RELEASE_URL ein.
Bashcd /tmp curl -O RELEASE_URL tar -xf kasm_release_*.tar.gz
Das Archiv wird in ein Verzeichnis kasm_release entpackt, das install.sh enthält.
⚙️ 3. Mit ausreichend Swap installieren
Workspaces sind speicherhungrig, und Swap schützt den Server vor plötzlichen Abbrüchen wegen Speichermangels. Der Installer kann mit der Option --swap-size (in MB) eine Swap-Datei für Sie anlegen:
Bashsudo bash /tmp/kasm_release/install.sh --swap-size 4096
Ist Port 443 bereits belegt, fügen Sie -L 8443 hinzu, um die Weboberfläche stattdessen auf 8443 bereitzustellen. Die Installation lädt mehrere Docker-Images herunter und dauert 10 bis 20 Minuten. Am Ende gibt das Skript die erzeugten Passwörter für die Standardkonten admin@kasm.local und user@kasm.local aus. Speichern Sie sie sofort; sie werden nur einmal angezeigt.
🌐 4. Web-Konsole öffnen
Rufen Sie https://VPS_IP auf (oder https://VPS_IP:8443, falls Sie den Port geändert haben). Akzeptieren Sie vorerst die Warnung zum selbstsignierten Zertifikat. Melden Sie sich als admin@kasm.local an, um den Admin-Bereich zu erreichen, und ändern Sie die erzeugten Passwörter über das Benutzermenü.
Wenn Sie eine Firewall nutzen, erlauben Sie den Web-Port:
Bashufw allow 22/tcp ufw allow 443/tcp ufw enable
Erlauben Sie SSH, bevor Sie UFW aktivieren, damit Sie sich nicht aussperren.
🔒 5. Let's-Encrypt-Zertifikat hinzufügen
Kasm liefert sein eigenes Zertifikat über einen internen Nginx-Proxy aus. Fordern Sie mit Certbot im Standalone-Modus ein Zertifikat an, wofür Port 80 frei sein muss (Kasm nutzt ihn nicht), und kopieren Sie es dorthin, wo Kasm es erwartet:
Bashapt -y install certbot certbot certonly --standalone -d kasm.example.com cp /etc/letsencrypt/live/kasm.example.com/fullchain.pem /opt/kasm/current/certs/kasm_nginx.crt cp /etc/letsencrypt/live/kasm.example.com/privkey.pem /opt/kasm/current/certs/kasm_nginx.key /opt/kasm/bin/stop /opt/kasm/bin/start
Zertifikate gelten 90 Tage. Wiederholen Sie daher Kopieren und Neustart nach jeder Erneuerung, zum Beispiel mit einem Certbot-Deploy-Hook in /etc/letsencrypt/renewal-hooks/deploy/.
🚀 6. Isolierten Browser starten
Melden Sie sich als normaler Benutzer (user@kasm.local) an; die Seite Workspaces listet die verfügbaren Images auf. Ist die Liste leer, melden Sie sich als Admin an, öffnen Workspaces > Registry und installieren die gewünschten Images, etwa Chrome, Firefox oder einen Ubuntu-Desktop. Klicken Sie dann auf eine Workspace, um sie zu starten: Ein neuer Tab zeigt einen vollständigen Desktop oder Browser, der zu Ihnen gestreamt wird, mit Steuerelementen für Zwischenablage und Dateiübertragung im Seitenpanel. Beim Schließen der Sitzung wird der Container zerstört.
✅ 7. Überprüfen
Bashdocker ps --format '{{.Names}}: {{.Status}}' ss -tlnp | grep -E ':(443|8443)\b' free -h
Sie sollten die laufenden kasm_*-Container, den lauschenden Web-Port und vorhandenen Swap in der Ausgabe von free -h sehen.
🧰 Fehlerbehebung
- Der Installer bricht mit einem Speicher- oder Festplattenfehler ab: Prüfen Sie
free -hunddf -h. Fügen Sie Swap mit--swap-sizehinzu, schaffen Sie Speicherplatz und starten Sie den Installer erneut. - Eine Workspace bleibt auf dem Ladebildschirm: Wahrscheinlich fehlt dem Server RAM oder das Image ist nicht vollständig geladen. Prüfen Sie
docker ps -aund die Logs in/opt/kasm/current/log/und schließen Sie andere Sitzungen. - Der Browser warnt vor dem Zertifikat: Die Dateien in
/opt/kasm/current/certs/wurden nicht ersetzt oder die Dienste nicht neu gestartet. Wiederholen Sie Schritt 5 und verwenden Sie in der Adressleiste den Domainnamen statt der IP. - Admin-Passwort verloren: Setzen Sie es im Admin-Bereich mit einem anderen Admin-Konto zurück oder installieren Sie auf einem sauberen VPS neu, wenn kein Administrator mehr existiert.
🎉 Kasm Workspaces läuft: Starten Sie Browser und Desktops auf Abruf, sicher isoliert von Ihrem eigenen Rechner.