Skip to content

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

bash
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v stib-data:/data \
  enixion/stib-server:latest

Ouvrez 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 :

bash
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v stib-data:/data \
  -v "$PWD/projects:/projects" \
  enixion/stib-server:latest

Cré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

VariableUsage
RUST_LOGFiltre de logs Rust ; info par défaut
STIB_ENCRYPTION_KEYClé hexadécimale optionnelle de 64 caractères gérée hors base
STIB_SERVER_ORIGINOrigine publique utilisée par OIDC, par exemple https://stib.example.com
STIB_RELEASE_CHANNELstable ou beta
STIB_UPDATE_URLRemplace 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 :

bash
openssl rand -hex 32

Utilisez 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

bash
curl http://localhost:50505/api/health
docker logs -f stib

L’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

bash
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.