Retour aux outils
ProductivitéIntermédiaireOpen sourceAuto-hébergeablev26.05.1

BookStack

Wiki PHP open source basé sur Laravel, structuré en étagères → livres → chapitres → pages. Conçu pou

MAJ 2026-06-14
BookStack
Site officiel Code source★ 18 829

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 namespac

📚 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éeValeur
Site webbookstackapp.com
GitHubBookStackApp/BookStack
LicenseMIT
LangagePHP (Laravel)
Étoiles⭐ 11 (selfh.st)
Dernière MAJ2026-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.

# 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.

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