La documentation d'équipe meurt en général de l'une de deux façons : éparpillée dans des fils de discussion que personne ne peut chercher, ou enterrée dans un wiki si pénible que personne ne le met à jour. BookStack est ce wiki auto-hébergé rare que les gens utilisent vraiment. Le contenu est rangé sur des étagères, dans des livres, des chapitres et des pages — une structure que tout le monde comprend sans formation. Et il ne demande presque pas de serveur.
Pourquoi BookStack
- Une structure évidente. Des livres et des chapitres plutôt qu'un tas plat de pages.
- Un éditeur qui ne fait peur à personne. WYSIWYG par défaut, Markdown pour ceux qui préfèrent.
- De vraies permissions. Des rôles par étagère, livre ou page — les documents RH restent loin des prestataires.
- Connexion d'entreprise. LDAP, SAML2 et OpenID Connect sont intégrés.
- Vos données. Tout est dans une base MariaDB et un dossier sur votre serveur.
Ce n'est pas l'outil pour tout. La documentation de développement qui doit évoluer avec le code a sa place dans le dépôt, pas dans un wiki.
Ce qu'il faut
BookStack est léger. Pour la plupart des équipes, Micro-IP — 1 vCPU, 2 Go, $10 par mois — est largement suffisant. L'IP dédiée permet à vos collègues d'y accéder en HTTPS sur votre domaine. Le disque grossit avec les captures d'écran et les PDF envoyés, pas avec le nombre de pages.
Installation avec Docker Compose
Nous utilisons les images très répandues de LinuxServer.io. Générez d'abord une clé d'application :
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
Copiez la valeur base64:... affichée. Puis créez docker-compose.yml :
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://wiki.example.com
- APP_KEY=base64:paste-your-key-here
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=change-me
volumes:
- ./bookstack:/config
ports:
- 127.0.0.1:6875:80
depends_on:
- db
restart: unless-stopped
db:
image: lscr.io/linuxserver/mariadb:latest
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=change-me-too
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=change-me
volumes:
- ./db:/config
restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack
APP_URL doit correspondre à l'adresse qu'utiliseront les gens, https:// compris. Sinon, images et liens cassent de façon étrange. Plus d'infos sur Compose dans notre guide de déploiement de stack.
HTTPS et première connexion
Faites pointer un sous-domaine vers le serveur (comment), placez nginx devant 127.0.0.1:6875 et ajoutez un certificat avec certbot — le guide du reverse proxy vous accompagne.
Connectez-vous ensuite avec le compte par défaut : admin@admin.com / password. Changez l'e-mail et le mot de passe tout de suite, avant de partager le lien. Les autres obtiennent leur propre compte ou se connectent via votre fournisseur d'identité.
Sauvegardes
Deux choses à protéger : la base de données et les envois dans ./bookstack. Une tâche nocturne comme celle-ci couvre la base :
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
Sauvegardez ensuite /var/backups et le dossier compose hors site — c'est exactement ce que fait notre guide restic. Les Managed Backups ajoutent par-dessus des points de restauration quotidiens du serveur entier.
Entretien
Mettre à jour, c'est docker compose pull && docker compose up -d. BookStack lance ses migrations de base au démarrage. Lisez les notes de version avant les versions majeures ; elles sont courtes et claires.
Si votre équipe veut aussi un endroit pour les tickets et le code, un serveur Git auto-hébergé se place très bien à côté, sur le même type d'offre.
Commentaires
Pas encore de commentaires. Soyez le premier.