📍 Article principal : 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.
- Coolify v4.
- Domaine :
docs.votre-entreprise.com. - SMTP (Brevo, Resend).
- Niveau : intermédiaire.
- Temps : 30-45 min.
Étape 1 — DNS
dig +short docs.votre-entreprise.com
Étape 2 — Service BookStack
Coolify Resources → New → Service → BookStack template officiel avec MySQL 8.
Étape 3 — Variables 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=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. 2-3 min.
Étape 6 — Premier login
Login par défaut : admin@admin.com / password. Changer immédiatement.
Étape 7 — Settings de base
- App name : Votre Entreprise Docs.
- Language : Français.
- Logo upload.
- Homepage Default ou custom.
Étape 8 — Premier Shelf, Book, Page
Shelves → Create new : « Engineering ». Add book → « Déploiement Production ». Add Chapter → « VPS Hetzner ». Create Page.
Étape 9 — Inviter membres
Settings → Users → Add. Rôles : Admin, Editor, Viewer.
Étape 10 — Sauvegardes
# Cron quotidien
docker exec bookstack-db mysqldump -u root -pPASS bookstack | gzip > /tmp/bs.gz
restic backup /tmp/bs.gz /var/lib/coolify/services/bookstack-prod
rm /tmp/bs.gz
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| 500 error initial | APP_KEY manquant | Générer base64 |
| Email magic link non reçu | SMTP pas testé | Settings → Email Test |
| Upload images échoue | PHP limit | upload_max_filesize |
| Recherche vide | Index manque | php artisan bookstack:regenerate-references |
| HTTPS fail | Port 80 bloqué | UFW allow 80 |
| Performance dégradée | Cache OFF | Cache config production |
Adaptation au contexte ouest-africain
Trois précisions. Multilingue : FR + AR + EN, switch par utilisateur. Recherche : MySQL FULLTEXT performant pour <100k pages. Backup MySQL : daily mysqldump + restic vers B2.
Tutoriels frères
FAQ
Capacité 100 users ? CX22 confortable. CX42 pour 500.
Mises à jour ? Coolify Pull image + Redeploy.
Postgres ? Pas supporté. MySQL/MariaDB uniquement.
Multi-domaine ? Une instance = un domaine.
Performance 50k pages ? MariaDB 10.6+ pour FULLTEXT moderne.
Pour aller plus loin
- 🔝 Pilier : Guide complet BookStack 2026
- Documentation : bookstackapp.com/docs/admin