--- title: BookStack created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, wiki, documentation, collaboration, php, laravel, mariadb, docker, open-source, equipe] confidence: high contested: false sources: [https://selfh.st/apps/?tag=wiki] --- # 📚 BookStack > Wiki PHP open source basé sur Laravel, structuré en étagères → livres → chapitres → pages. Conçu pour documenter procédures, projets et connaissances d'équipe dans une interface WYSIWYG claire. C'est l'alternative self-hosted la plus populaire à Confluence pour les petites et moyennes équipes. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | [bookstackapp.com](https://www.bookstackapp.com/) | | **GitHub** | [BookStackApp/BookStack](https://github.com/BookStackApp/BookStack) | | **License** | MIT | | **Langage** | PHP (Laravel) | | **Étoiles** | ⭐ 11 (selfh.st) | | **Dernière MAJ** | 2026-05-30 | | **Catégorie** | [[cat-wiki]] | ## Description **BookStack** (à ne pas confondre avec `obsidian-livesync` qui relève de la synchronisation Obsidian) est un wiki **PHP/Laravel** open source depuis 2016. Sa philosophie : organiser la documentation selon une hiérarchie familière — **Étagères → Livres → Chapitres → Pages** — qui évite la complexité des namespaces à la [[app-dokuwiki]] ou des espaces Confluence. L'interface WYSIWYG (TinyMCE) avec bascule Markdown, multi-utilisateurs, permissions fines, recherche full-text, versioning, LDAP/SAML2/OIDC, API REST, webhooks et gestion d'images en font un wiki qui **fait le travail** sur n'importe quel LAMP/LEMP, gérant des milliers de pages. Sobriété assumée : pas d'éditeur temps réel type Notion. Alternatives : [[app-wiki-js]] (Node.js), [[app-dokuwiki]] (flat-file), [[app-affine]] (Notion-like), [[app-tiddlywiki]] (single-file). ## Installation ### Docker Compose (recommandé) L'image `lscr.io/linuxserver/bookstack` embarque PHP-FPM + Nginx. On l'associe à un conteneur MariaDB. ```yaml # docker-compose.yml services: mariadb: image: mariadb:11 container_name: bookstack-db restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD=ChangeMeRoot - MARIADB_DATABASE=bookstack - MARIADB_USER=bookstack - MARIADB_PASSWORD=ChangeMePass volumes: - bookstack-db:/var/lib/mysql bookstack: image: lscr.io/linuxserver/bookstack:latest container_name: bookstack restart: unless-stopped depends_on: - mariadb environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris - APP_URL=https://wiki.exemple.fr - DB_HOST=mariadb - DB_USER=bookstack - DB_PASS=ChangeMePass - DB_DATABASE=bookstack volumes: - bookstack-config:/config ports: - "6875:80" volumes: bookstack-config: bookstack-db: ``` Premier lancement : créer le compte admin via `/register` (ouvert uniquement au début), puis fermer l'inscription dans **Settings → Registration**. ### Installation manuelle (LAMP/LEMP) Prérequis : **PHP 8.1+** (`mbstring`, `gd`, `mysqli`, `xml`, `curl`, `openssl`) + **MySQL 8+** ou **MariaDB 10.3+** + Apache/Nginx. ```bash cd /var/www sudo git clone https://github.com/BookStackApp/BookStack.git bookstack cd bookstack && composer install --no-dev cp .env.example .env && php artisan key:generate php artisan migrate --force sudo chown -R www-data:www-data /var/www/bookstack sudo chmod -R 755 bootstrap/cache storage ``` ## Configuration Réglages dans `.env` (ou via variables Docker) et dans **Settings** : - **APP_URL** : doit correspondre à l'URL publique (sinon OAuth cassé). - **MAIL_*** : SMTP (`MAIL_MAILER=smtp`, `MAIL_PORT=587`, `MAIL_ENCRYPTION=tls`) pour invitations, notifications, reset. - **AUTH_METHOD** : `standard`, `ldap`, `saml2` ou `oidc` (Keycloak, [[app-authentik]]). - **STORAGE_TYPE** : `local` par défaut, ou `s3` pour externaliser vers MinIO. - **ALLOW_REGISTRATION** : **désactiver en production** après création du compte admin. - **DRAWIO_URL** : URL publique d'un Draw.io pour les diagrammes. - **LDAP** : `LDAP_HOST`, `LDAP_BASE_DN`, `LDAP_DN`, `LDAP_PASS` pour l'authentification centralisée. - **API** : jeton personnel dans le profil, pour scripter des migrations depuis [[app-dokuwiki]]. ## Alternatives ### Open Source (self-hosted) - [[app-wiki-js]] — Wiki Node.js, éditeur temps réel, Git backend. - [[app-dokuwiki]] — Wiki PHP vétéran, flat-file, ultra-léger. - [[app-xwiki]] — Wiki Java/enterprise avec apps intégrées. - [[app-tiddlywiki]] — Wiki single-file JavaScript, 100% portable. - [[app-affine]] — Workspace Notion-like avec whiteboard. ### Propriétaire (SaaS) - **Notion** — référence wiki/workspace, cloud-only freemium. - **Confluence Cloud** (Atlassian) — standard entreprise avec Jira. - **GitBook**, **Slab**, **Tettra** — wikis doc/IA, cloud-only. ## Sécurité - **HTTPS obligatoire** via reverse proxy (Traefik, Caddy, Nginx) + Let's Encrypt. - **Désactiver l'inscription** dès l'admin créé. - **2FA TOTP** pour les admins. - **Fail2ban** sur les 401 au reverse proxy. Voir [[recettes-docker-compose]]. - **Permissions fines** : rôles rédacteur/relecteur/lecteur. - **Sauvegardes** : volumes `bookstack-db` + `bookstack-config` (uploads, `.env`). - **Mises à jour** : releases GitHub mensuelles, `--pull` puis relance. - **Headers** : `HSTS`, `CSP`, `X-Frame-Options: SAMEORIGIN` au proxy. - **Audit** : table `activities` ; exporter régulièrement. ## Ressources - Site : [bookstackapp.com](https://www.bookstackapp.com/) - Code : [github.com/BookStackApp/BookStack](https://github.com/BookStackApp/BookStack) - Doc : [docs.bookstackapp.com](https://docs.bookstackapp.com/) - Docker LSIO : [hub.docker.com/r/linuxserver/bookstack](https://hub.docker.com/r/linuxserver/bookstack) - Démo : [demo.bookstackapp.com](https://demo.bookstackapp.com/) (`admin@admin.com` / `password`) - Discord : [discord.gg/ztkBqR6](https://discord.gg/ztkBqR6) - Selfh.st : [selfh.st/apps/?tag=wiki](https://selfh.st/apps/?tag=wiki) ## Pages Liées - [[cat-wiki]] — catégorie parente - [[recettes-docker-compose]] — patterns Compose - [[app-wiki-js]] — alternative Node.js moderne - [[app-dokuwiki]] — alternative PHP flat-file - [[app-affine]] — alternative Notion-like - [[app-authentik]] — SSO OIDC/SAML pour BookStack - [[app-nextcloud]] — autre grand classique de la doc d'équipe