📍 Article principal du cluster : BookStack 2026 : guide complet.
Trente minutes pour transformer un VPS vide en BookStack production. Méthode validée chez plusieurs PME francophones d’Afrique de l’Ouest et du Maghreb.
Prérequis
- Hetzner CX22 minimum (4 Go RAM).
- Coolify v4.
- Domaine :
docs.votre-entreprise.com. - SMTP (Brevo, Resend).
- Niveau attendu : intermédiaire.
- Temps estimé : 30-45 minutes.
Étape 1 — DNS et préparation
dig +short docs.votre-entreprise.com # IP VPS
Étape 2 — Service BookStack dans Coolify
Resources → + New → Service → rechercher « BookStack ». Coolify déploie le template officiel avec MySQL 8.
Étape 3 — Variables d’environnement
APP_URL=https://docs.votre-entreprise.com
APP_KEY=base64:générer
APP_DEBUG=false
DB_CONNECTION=mysql
DB_HOST=bookstack-db
DB_PORT=3306
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=mot-de-passe-fort
STORAGE_TYPE=local
MAIL_DRIVER=smtp
MAIL_HOST=smtp-relay.brevo.com
MAIL_PORT=587
MAIL_USERNAME=login
MAIL_PASSWORD=key
MAIL_ENCRYPTION=tls
MAIL_FROM=docs@votre-entreprise.com
Étape 4 — Domaine HTTPS
Onglet Domains : https://docs.votre-entreprise.com. Force HTTPS.
Étape 5 — Lancer Deploy
Coolify pull lscr.io/linuxserver/bookstack + mariadb. Comptez 2-3 minutes.
Étape 6 — Premier login
Ouvrir https://docs.votre-entreprise.com. Login par défaut : admin@admin.com / password. Changer immédiatement password fort 14+ caractères.
Étape 7 — Settings de base
Settings → Customization :
- App name : Votre Entreprise Docs.
- App language : Français.
- Logo : upload.
- Homepage : Default ou page custom.
Étape 8 — Premier Shelf, Book, Page
Sidebar → Shelves → Create new shelf : « Engineering ».
Dans Engineering → Add new book → « Déploiement Production ».
Dans book → Add Chapter → « VPS Hetzner ».
Dans chapter → Create Page → contenu Markdown ou WYSIWYG.
Étape 9 — Inviter membres
Settings → Users → Add user. Rôles : Admin, Editor, Viewer. Email magic link envoyé.
Étape 10 — Sauvegardes
# Cron quotidien
docker exec bookstack-db mysqldump -u root -p$MYSQL_ROOT_PASSWORD bookstack | gzip > /tmp/bs-mysql.gz
restic backup /tmp/bs-mysql.gz /var/lib/coolify/services/bookstack-prod
rm /tmp/bs-mysql.gz
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| 500 error initial | APP_KEY non généré | Coolify env var APP_KEY base64 |
| Email magic link non reçu | SMTP pas testé | Settings → Email Test |
| Upload images échoue | PHP limit | Edit php.ini upload_max |
| Recherche vide | Index pas généré | php artisan bookstack:regenerate-references |
| HTTPS Let’s Encrypt fail | Port 80 bloqué | UFW allow 80 |
| Performance dégradée | Cache désactivé | Cache config production |
Adaptation au contexte ouest-africain
Trois précisions. Multilingue interface : BookStack supporte FR + AR + EN, switch par utilisateur. Recherche : MySQL FULLTEXT performant pour <100k pages. Backup MySQL : daily mysqldump + restic vers B2 = 1,20 USD/mois.
Tutoriels frères
FAQ
Capacité 100 users ? CX22 confortable. CX42 pour 500.
Mises à jour ? Coolify Pull image + Redeploy. Migrations DB auto.
Multi-domaine ? Une instance = un domaine. Plusieurs instances pour multi-tenancy.
Postgres ? Pas supporté nativement. MySQL/MariaDB uniquement.
Performance 50k pages ? MariaDB 10.6+ pour FULLTEXT moderne.
Pour aller plus loin
- 🔝 Retour au pilier : Guide complet BookStack 2026
- Documentation : bookstackapp.com/docs/admin