Files
wiki/Catalogue-Self-Hosted/apps/app-bookstack.md
T
2026-06-09 18:40:21 +02:00

6.3 KiB


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

# 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

Pages Liées