Kasm Workspaces diffuse des bureaux et des navigateurs conteneurisés vers votre propre navigateur : vous ouvrez un Chrome jetable ou un bureau Linux complet depuis n'importe où. Sur un VPS Linux Infrawire, l'édition single server est le moyen le plus simple de le faire tourner. Ce guide cible Ubuntu 24.04 (Ubuntu 22.04 fonctionne de la même façon).
📋 Prérequis
- Un VPS KVM neuf sous Ubuntu, un accès SSH root et aucun autre service à l'écoute sur le port 443. Depuis votre espace client, vous retrouvez l'IP et le mot de passe root du VPS.
- Kasm recommande au moins 2 cœurs CPU, 4 Go de RAM et 50 Go de stockage SSD pour l'installation de base, et chaque espace de travail lancé consomme de la mémoire en plus. Prévoyez davantage de RAM si plusieurs utilisateurs se connectent en même temps.
- Un domaine comme
kasm.example.compointant versVPS_IPsi vous voulez un certificat HTTPS reconnu.
🔄 1. Préparer le serveur
Bashssh root@VPS_IP apt update && apt -y upgrade && apt -y install curl
Kasm installe Docker lui-même : n'installez pas un autre moteur de conteneurs au préalable. Redémarrez si un nouveau noyau a été installé.
⬇️ 2. Télécharger la dernière version
Le numéro de version change régulièrement, ne le copiez donc pas depuis un ancien tutoriel. Ouvrez la page de téléchargement officielle (https://kasmweb.com/downloads) ou le guide d'installation single server (https://kasmweb.com/docs/latest/install/single_server_install.html), copiez le lien de l'archive de la version actuelle pour l'installateur single server et utilisez-le à la place de RELEASE_URL ci-dessous.
Bashcd /tmp curl -O RELEASE_URL tar -xf kasm_release_*.tar.gz
L'archive s'extrait dans un répertoire kasm_release qui contient install.sh.
⚙️ 3. Installer avec assez de swap
Les espaces de travail consomment beaucoup de mémoire, et le swap protège le serveur des arrêts brutaux par manque de mémoire. L'installateur peut créer un fichier de swap pour vous avec l'option --swap-size (en Mo) :
Bashsudo bash /tmp/kasm_release/install.sh --swap-size 4096
Si le port 443 est déjà pris, ajoutez -L 8443 pour servir l'interface web sur 8443. L'installation télécharge plusieurs images Docker et dure de 10 à 20 minutes. À la fin, le script affiche les mots de passe générés pour les comptes par défaut admin@kasm.local et user@kasm.local. Enregistrez-les immédiatement : ils ne sont affichés qu'une seule fois.
🌐 4. Ouvrir la console web
Allez sur https://VPS_IP (ou https://VPS_IP:8443 si vous avez changé le port). Acceptez pour l'instant l'avertissement du certificat auto-signé. Connectez-vous avec admin@kasm.local pour accéder à l'administration et changez les mots de passe générés depuis le menu utilisateur.
Si vous utilisez un pare-feu, autorisez le port web :
Bashufw allow 22/tcp ufw allow 443/tcp ufw enable
Autorisez SSH avant d'activer UFW pour ne pas vous verrouiller dehors.
🔒 5. Ajouter un certificat Let's Encrypt
Kasm sert son propre certificat via un proxy Nginx interne. Demandez un certificat avec Certbot en mode standalone, qui exige que le port 80 soit libre (Kasm ne l'utilise pas), puis copiez-le là où Kasm l'attend :
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
Les certificats durent 90 jours : répétez la copie et le redémarrage après chaque renouvellement, par exemple avec un hook de déploiement Certbot dans /etc/letsencrypt/renewal-hooks/deploy/.
🚀 6. Lancer un navigateur isolé
Connectez-vous avec un utilisateur normal (user@kasm.local) : la page Workspaces liste les images disponibles. Si la liste est vide, connectez-vous en admin, ouvrez Workspaces > Registry et installez les images souhaitées, comme Chrome, Firefox ou un bureau Ubuntu. Cliquez ensuite sur un espace de travail pour le démarrer : un nouvel onglet affiche un bureau complet ou un navigateur diffusé vers vous, avec les commandes de presse-papiers et de transfert de fichiers dans le panneau latéral. À la fermeture de la session, le conteneur est détruit.
✅ 7. Vérifier
Bashdocker ps --format '{{.Names}}: {{.Status}}' ss -tlnp | grep -E ':(443|8443)\b' free -h
Vous devez voir les conteneurs kasm_* en cours d'exécution, le port web en écoute et du swap présent dans la sortie de free -h.
🧰 Dépannage
- L'installateur s'arrête sur une erreur de mémoire ou de disque : vérifiez
free -hetdf -h. Ajoutez du swap avec--swap-sizeet libérez de l'espace disque, puis relancez l'installateur. - Un espace de travail reste sur un écran de chargement : le serveur manque probablement de RAM ou l'image n'est pas entièrement téléchargée. Consultez
docker ps -aet les journaux dans/opt/kasm/current/log/, et fermez les autres sessions. - Le navigateur signale un problème de certificat : les fichiers de
/opt/kasm/current/certs/n'ont pas été remplacés ou les services n'ont pas été redémarrés. Refaites l'étape 5 et utilisez le nom de domaine, pas l'IP, dans la barre d'adresse. - Mot de passe admin perdu : réinitialisez-le depuis l'administration avec un autre compte admin, ou réinstallez sur un VPS propre s'il ne reste aucun administrateur.
🎉 Kasm Workspaces est opérationnel : lancez des navigateurs et des bureaux à la demande, isolés en toute sécurité de votre propre ordinateur.