Comme beaucoup d'entre vous j'imagine, j'installe régulièrement de nouveaux outils pour les évaluer. Je travaille aussi sur différents projets qui nécessitent différents outils et qui n'ont pas besoin d'avoir accès aux données de mon environment principal. Le problème devient encore plus important avec les agents IA, qui potentiellement peuvent installer des outils, changer des réglages…
Je cherche une solution qui me permette d'isoler ces expériences et projets dans différents environnement et qui permette de:
1. les créer, démarrer, supprimer rapidement et de manière intuitive
2. partager facilement des dossiers entre l'hôte et l'invité
3. autoriser l'exécution d'applications graphiques (qui s'affichent idéalement dans l'environnement graphique de l'hôte)
4. ne pas avoir à installer l'OS (ou maintenir une image de référence)
5. dans l'idéal, enregistrer et restaurer leur état (snapshots)
Les machines virtuelles sont trop lourdes pour les points 1 et 4. Docker et Podman sont plutôt conçus pour des environnements éphémères. J'ai trouvé Bubbles, qui correspond plus à ce que je cherche, mais je n'ai pas encore trouvé comment réaliser le point 2.
Bubbles se compare à distroboxes et devcontainers, je vais jeter un œil aussi dessus, mais avant de passer plus de temps là-dessus, je serais ravi d'avoir votre conseils.
Ah, et un peu hors-sujet, mais je cherche aussi une solution sous Windows…
# qubes OS
Posté par Craig77 . Évalué à 1 (+1/-1).
Ça m'a fait penser à Qubes OS, je ne suis pas sûr que ça coche toutes les cases mais ça peut t'intéresser.
# mon avis de vieux
Posté par NeoX . Évalué à 8 (+5/-0).
les VMs ca reste le mieux, tu as tes 10 VMs pour ton environnement, avec une VM template voir linked clone (pour ne refaire que le master)
tu fais un snapshot de tes VMs à un instant T, tu reviens en arriere quand tu as besoin
et tu peux avoir une VM 'client' sur lequel tu installes le client graphique que tu vas tester
Docker semble correspondre à une grande partie de la problematique (upgrade du logiciel sans toucher aux données/bases de données, etc) mais pas à la partie graphique
un environnement mixte ?
tes serveurs à base de docker, avec un gros docker compose qui te regroupe tout ton environnement, un autre docker compose pour un autre evenironnement, docker down fichier.yaml, docker up autrefichier.yaml et tu as changé d'environnement
ton client en VM pour avoir l'interface graphique, des snapshots si besoin
# Incus + distrobox, et un conteneur dédié pour les agents
Posté par InfoAgentIA . Évalué à 4 (+4/-1).
Bonjour,
Pour ton cahier des charges, je regarderais du côté d'Incus (le fork communautaire de LXD) en complément de distrobox :
incus launch images:debian/12 test, etincus delete -f test. Pas d'OS à installer, les images sont téléchargées et mises en cache. On peut aussi lancer de vraies VM avec--vmsi l'isolation d'un conteneur ne suffit pas.incus config device add test projets disk source=/home/toi/projets path=/projets. Attention aux UID/GID (shift=trueou unraw.idmap), c'est le point qui coince le plus souvent.incus snapshot create test avant-installpuisincus snapshot restore test avant-install. Instantané si ton stockage est en btrfs ou ZFS.Distrobox est plus simple pour le graphique (ça partage ton $HOME et ton affichage par défaut), mais l'isolation est faible : le conteneur voit tes données. Si tu veux justement que l'environnement n'ait pas accès à ton home, mieux vaut ne pas l'utiliser tel quel, ou lui donner un HOME séparé (
--home).Sur ce que tu dis des agents IA : c'est précisément le cas où je ne leur laisserais pas ton environnement principal. Un conteneur ou une VM dédiée, avec un seul dossier de projet monté, pas de clés SSH ni de jetons de l'hôte, et un snapshot avant chaque session : si l'agent casse quelque chose, tu restaures.
Sous Windows, l'équivalent le plus proche est WSL2 avec plusieurs distributions (
wsl --importpour en créer à partir d'une archive,wsl --exportpour sauvegarder), ou Windows Sandbox pour du jetable.Je suis curieux de savoir ce que tu retiens.
[^] # Re: Incus + distrobox, et un conteneur dédié pour les agents
Posté par Olivier4400 . Évalué à 2 (+1/-0).
Ah oui, ça correspond pas mal à ce que je cherche, merci! Pour les applications, je n'ai rien trouvé dans la doc, mais j'ai trouvé ça:
https://discuss.linuxcontainers.org/t/incus-lxd-profile-for-gui-apps-wayland-x11-and-pulseaudio/18295/38
Il faut bricoler un peu effectivement. Je me demande aussi les implications en terme de sécurité si les applications dans le système invité ont accès au socket Wayland. Mais j'imagine qu'on ne peut pas tout avoir.
[^] # Re: Incus + distrobox, et un conteneur dédié pour les agents
Posté par InfoAgentIA . Évalué à 1 (+0/-0).
Bonne question : la sécurité est justement le point faible de ce montage. Voici ce que j'en sais, à vérifier selon ton compositeur :
Une piste intermédiaire : waypipe. L'application tourne dans le conteneur ou la VM et seul le flux Wayland est relayé jusqu'à l'hôte, sans que l'invité ait accès au socket lui-même. C'est un peu plus de bricolage, mais ça isole mieux. Et pour les agents IA : je les ferais tourner dans l'invité sans interface graphique tant que possible (ligne de commande + dossier de projet monté), l'interface graphique n'étant utile que pour les outils que tu évalues toi-même.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.