Skip to content

Docker

Lancez Stib dans un conteneur Docker pour un déploiement rapide sur n'importe quel serveur. Cette méthode ne nécessite aucun outil de compilation et isole Stib du système hôte.

Prérequis

  • Docker Engine 20+ ou Docker Desktop installé
  • Un terminal avec accès réseau à Docker Hub

TIP

Vous ne savez pas quelle méthode d'installation choisir ? Docker est idéal pour les déploiements sur un seul serveur avec un minimum de configuration. Pour des architectures multi-conteneurs avec reverse proxy, consultez Docker Compose.

Démarrage rapide

Téléchargez et lancez Stib en une seule commande :

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

L'interface web est accessible sur http://localhost:50505.

Données persistantes

Stib stocke toutes ses données dans /app/data à l'intérieur du conteneur. Montez un volume pour conserver les données entre les redémarrages et les mises à jour.

Le répertoire de données contient :

data/
├── stib.db          # Base de données SQLite (créée automatiquement)
├── logs/            # Logs journaliers rotatifs (7 fichiers max)
├── backups/         # Sauvegardes de la base de données
└── attachments/     # Pièces jointes des cartes
sh
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v stib-data:/app/data \
  enixion/stib-server:latest
sh
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v ./stib-data:/app/data \
  enixion/stib-server:latest

WARNING

Montez toujours un volume pour /app/data. Sans cela, vos données seront perdues à la suppression du conteneur.

Variables d'environnement

VariableDescriptionDéfautRequis
STIB_ENCRYPTION_KEYClé de chiffrement des identifiants (AES-256-GCM, 32 octets en hexadécimal)Uniquement si vous utilisez le chiffrement des identifiants
STIB_SERVER_ORIGINURL de base pour les redirections OIDC (ex. https://stib.example.com)http://localhost:50505Uniquement pour l'authentification OIDC SSO
STIB_UPDATE_URLEndpoint de vérification des mises à jourOptionnel
RUST_LOGNiveau de journalisation (info, debug, warn)infoOptionnel

Pour générer une clé de chiffrement valide :

bash
openssl rand -hex 32

Exemple avec des variables d'environnement :

bash
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v stib-data:/app/data \
  -e RUST_LOG=info \
  -e STIB_ENCRYPTION_KEY=your-hex-key-here \
  enixion/stib-server:latest

Gérer le conteneur

Arrêter le conteneur :

bash
docker stop stib

Redémarrer le conteneur :

bash
docker start stib

Consulter les logs :

bash
docker logs -f stib

Supprimer le conteneur (les données sont conservées dans le volume) :

bash
docker stop stib && docker rm stib

Mettre à jour Stib

Téléchargez la dernière image et recréez le conteneur :

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

WARNING

Si vous aviez utilisé des options -e (ex. STIB_ENCRYPTION_KEY, STIB_SERVER_ORIGIN), ajoutez-les à nouveau lors de la recréation du conteneur.

TIP

Vos données sont en sécurité — elles sont stockées dans le volume stib-data, pas dans le conteneur. Par précaution, vous pouvez sauvegarder la base de données avant la mise à jour :

bash
docker cp stib:/app/data/stib.db ./stib.db.bak

Health check

Pour les déploiements en production, vous pouvez ajouter un health check Docker pour surveiller automatiquement le conteneur :

bash
docker run -d \
  --name stib \
  --restart unless-stopped \
  -p 50505:50505 \
  -v stib-data:/app/data \
  --health-cmd "curl -f http://localhost:50505/api/health || exit 1" \
  --health-interval 30s \
  --health-timeout 5s \
  --health-retries 3 \
  enixion/stib-server:latest

INFO

L'image Docker est disponible pour les architectures amd64 et arm64.

Vérifier l'installation

Vérifiez que Stib fonctionne :

bash
curl http://localhost:50505/api/health

Réponse attendue :

json
{"data":{"status":"ok"}}

Ouvrez ensuite http://localhost:50505 dans votre navigateur pour accéder à l'interface web.

Étapes suivantes

TIP

Consultez le guide de configuration pour créer votre compte administrateur, configurer l'authentification OIDC et personnaliser votre instance.