Skip to Content
Self HostingConfiguration

Configuration

La configuration auto-hébergée publique est le cto-gui/docker-compose.self-hosted.yml versionné plus les paramètres lus par cto-gui-libvirt-backend. Cette page documente cette surface d’évaluation. Elle n’invente pas un contrat d’environnement Enterprise générique.

Contrat Compose

ParamètreValeur versionnéeRôle
SELF_HOSTEDtrueSélectionne le mode console locale et désactive les routes dépendantes du cloud
KVM_URIqemu:///systemConnexion au démon libvirt système de l’hôte
TEST_STORAGE_DIR/app/data/testsConserve état de test, verrous et journaux de nettoyage dans cto-data
SOURCE_ISO_DIRChemin ISO source hôteRésout artefacts source en lecture seule au même chemin absolu visible par libvirt hôte
SOURCE_GOLDEN_IMAGE_DIRChemin images promues hôteRésout entrées QCOW2 installées immuables au même chemin absolu visible par libvirt hôte
TRUST_PROXY_HEADERStrue dans le fichier ComposePermet informations client dérivées du proxy selon les règles proxy de confiance du backend

Le backend place aussi par défaut les téléversements ISO dans /var/lib/libvirt/images et limite les téléversements à 10 Go sauf changement délibéré du paramètre backend.

Overrides de chemins hôte

Deux variables d’environnement shell affectent les bind mounts Compose :

export SOURCE_ISO_HOST_DIR=/srv/openfactory/source-isos export SOURCE_GOLDEN_IMAGE_HOST_DIR=/srv/openfactory/golden-images docker compose -f docker-compose.self-hosted.yml up --build -d

Créez et permissionnez ces répertoires d’abord. Le chemin conteneur est identique au chemin hôte car libvirt hôte, pas le conteneur, ouvre les fichiers image pour QEMU. Un chemin qui n’existe que dans le conteneur échouera au lancement invité.

Données persistantes et non persistantes

EmplacementPropriété et cycle de vie
/var/lib/libvirt/imagesISO téléversées, disques invités et superpositions gérés par l’hôte
Répertoire ISO sourceGéré opérateur, monté lecture seule
Répertoire golden-imageEntrées immuables promues opérateur, monté lecture seule
Volume nommé cto-dataÉtat backend incluant enregistrements de test et journaux de nettoyage
Filesystem conteneur hors mountsJetable ; ne comptez pas dessus pour reprise

Sauvegardez ou instantanisez seulement après avoir identifié les ressources à conserver. Le fichier Compose ne planifie pas de sauvegardes.

Exposition et paramètres proxy

Le frontend mappe le port 80 hôte. TRUST_PROXY_HEADERS ne fournit ni TLS ni authentification ; il change seulement comment le backend accepte les métadonnées de connexion transférées depuis des plages proxy explicitement de confiance. Si vous ajoutez un reverse proxy, configurez son chemin réseau et proxies de confiance étroitement et vérifiez que les en-têtes de forwarding falsifiés sont rejetés depuis pairs non fiables.

Ne placez pas la console d’évaluation directement sur internet public. Identité, TLS, secrets et conception d’autorisation de production sont une décision de déploiement séparée.

Valider chaque changement

Après changement de chemins ou paramètres :

  1. recréez le conteneur affecté ;
  2. vérifiez self_hosted: true via le point mode ;
  3. téléversez et lancez une ISO jetable ;
  4. arrêtez et supprimez l’invité ;
  5. redémarrez la stack et confirmez que l’état de nettoyage et l’inventaire survivent.