Docker
L’image officielle exécute le serveur Stib, le client web embarqué et le CLI stib fourni, avec un utilisateur non root. Elle est publiée pour amd64 et arm64.
Démarrer un serveur
docker run -d \
--name stib \
--restart unless-stopped \
-p 50505:50505 \
-v stib-data:/data \
enixion/stib-server:latestOuvrez http://localhost:50505 ou connectez l’application bureau à cette origine.
Persister les données et exposer les dépôts
/data est le volume persistant des données applicatives. La base serveur est stockée en dessous et doit survivre au remplacement du conteneur.
Les dépôts projet sont distincts. Montez chaque dossier hôte auquel Stib doit accéder, de préférence à un chemin stable :
docker run -d \
--name stib \
--restart unless-stopped \
-p 50505:50505 \
-v stib-data:/data \
-v "$PWD/projects:/projects" \
enixion/stib-server:latestCréez les projets Stib avec un chemin comme /projects/mon-depot, pas avec un chemin visible uniquement sur l’hôte. Les opérations Git SSH nécessitent aussi de rendre volontairement disponibles clés et known_hosts utiles.
WARNING
Ne lancez jamais le conteneur sans montage persistant sur /data. Ne considérez pas une copie brute de stib.db en cours d’utilisation comme une sauvegarde : créez une sauvegarde cohérente depuis Paramètres → Serveur → Sauvegarde.
Environnement
| Variable | Usage |
|---|---|
RUST_LOG | Filtre de logs Rust ; info par défaut |
STIB_ENCRYPTION_KEY | Clé hexadécimale optionnelle de 64 caractères gérée hors base |
STIB_SERVER_ORIGIN | Origine publique utilisée par OIDC, par exemple https://stib.example.com |
STIB_RELEASE_CHANNEL | stable ou beta |
STIB_UPDATE_URL | Remplace l’URL du manifeste signé de mise à jour serveur |
Sans STIB_ENCRYPTION_KEY, Stib crée et stocke une clé dans la base. Si vous fournissez la variable, conservez exactement la même valeur à chaque redémarrage et sur chaque réplique.
Générez une clé gérée par l’environnement avec :
openssl rand -hex 32Utilisez un fichier d’environnement ou un gestionnaire de secrets plutôt que l’historique du shell.
Sandbox des agents
Un serveur conteneurisé ne peut lancer des sandboxes par carte que s’il accède à une API Docker — par exemple via /var/run/docker.sock — et si une image agent est configurée. Monter le socket Docker donne au conteneur Stib des pouvoirs étendus sur l’hôte ; réservez cette configuration à une machine de confiance et mono-tenant.
Sans accès à l’API Docker, le serveur reste utilisable mais l’option sandbox des projets est indisponible.
Santé et logs
curl http://localhost:50505/api/health
docker logs -f stibL’image contient déjà un health check. Le port conteneur 50505 est fixe ; exposez-le sur un autre port hôte si nécessaire, par exemple -p 8080:50505.
Mettre à jour
docker pull enixion/stib-server:latest
docker stop stib
docker rm stib
# Relancez la même commande docker run avec les mêmes volumes et variables.Une installation Docker n’est pas remplacée par l’updater natif de Stib.
Suite : Configuration.