Héberger BookStack sur un VPS infogéré : votre documentation chez vous

Héberger BookStack sur un VPS infogéré, c'est garder votre documentation sur une machine à vous, que nos équipes tiennent à jour et supervisent jour et nuit. BookStack est un logiciel libre sous licence MIT, simple à faire tourner : PHP, MySQL ou MariaDB et un serveur web, sans Docker. Ce guide suit sa documentation officielle : l'installation, HTTPS, les données, les e-mails, la sécurité, les sauvegardes et les mises à jour.

Simon Vasconcelos Lee Par Publié le 13 novembre 2026Lecture : 11 minutes

Tous les guides

L'essentiel

  1. La licence MIT de BookStack permet tout usage en entreprise, et le projet tient une seule version, libre, sans édition entreprise.
  2. BookStack se passe de Docker : il demande PHP 8.2 ou plus, MySQL 8.0 ou MariaDB 10.6 ou plus, et un serveur web qui sert son dossier public.
  3. Installez-le avec le script du projet sur un Ubuntu tout neuf, ou à la main avec Git et Composer sur une machine déjà en service.
  4. Servez-le en HTTPS avec Certbot, puis écrivez l'adresse exacte dans APP_URL : les liens et les cookies sécurisés en dépendent.
  5. Sauvegardez la base, .env, public/uploads, storage/uploads et themes, et gardez précieusement APP_KEY.

Ce que fait BookStack

BookStack est une plateforme de documentation pensée pour rester simple : son README vise une prise en main immédiate, avec de simples notions de traitement de texte. Vos équipes y écrivent leurs procédures, leur documentation et leur base de connaissances, dans un navigateur, en français si elles le souhaitent.

Le projet assume ses choix : son README précise que BookStack n'est pas conçu comme une plateforme extensible vers d'autres usages, et il reste tenu à la documentation. Son rendu PDF passe par dompdf, sans installation de plus, avec des capacités limitées ; le projet documente d'autres moteurs avec EXPORT_PDF_COMMAND.

Ce que permet la licence MIT

BookStack est publié sous licence MIT par Dan Brown et les contributeurs du projet. Elle autorise tout usage, toute modification et toute distribution, à une condition : garder la mention de copyright et le texte de la licence dans toute copie du logiciel. La FAQ du projet précise que cette attribution porte sur le code que vous partagez : rien ne vous oblige à afficher le nom ou le logo de BookStack sur votre instance.

Le projet tient une seule version, libre et gratuite : il ne propose pas d'édition entreprise, et il n'a pas d'hébergement officiel, ni de projet d'en ouvrir un. Il vend en revanche des formules de support, qui contribuent à son financement avec les dons et les parrainages. BookStack s'installe donc sur votre serveur, sans licence à acheter.

Les prérequis de BookStack

ÉlémentVersion demandéePrécision
PHP8.2 ou plusExtensions curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml et zip
Base de donnéesMySQL 8.0 ou plus, MariaDB 10.6 ou plusUne seule base, dont BookStack gère lui-même le schéma
Composer2.2 ou plusPour les dépendances PHP
GitSans version préciséePour récupérer le code et appliquer les mises à jour
Serveur webCompatible PHPApache ou Nginx, racine web sur le dossier public

Docker reste facultatif. Le projet ne publie pas d'image officielle : les installations en conteneur viennent de projets communautaires, LinuxServer.io et solidnerd. Ce guide suit la voie officielle, PHP et MySQL directement sur le serveur, qui ne demande rien de plus.

La documentation écarte l'hébergement PHP mutualisé : BookStack demande un serveur que vous administrez. Elle ne chiffre ni la mémoire ni le processeur nécessaires. Sur un VPS infogéré, décrivez-nous votre usage, le nombre de personnes et le volume d'images et de pièces jointes, et nous vous recommandons la taille qui convient.

L'installation de BookStack

Le projet propose deux voies : un script pour Ubuntu, le plus court sur un serveur neuf, et une installation manuelle pour tous les autres cas.

Avec le script du projet, sur un Ubuntu tout neuf

SystèmeCe que le script installe
Ubuntu 26.04Apache, MySQL 8.4 et PHP 8.5
Ubuntu 24.04Apache, MySQL 8.0 et PHP 8.3
Ubuntu 22.04Apache, MySQL 8.0 et PHP 8.4
Terminal, pour Ubuntu 24.04
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.sh

Ces scripts sont réservés à un système fraîchement installé : ils peuvent écraser une configuration web existante. Ils laissent aussi de côté deux sujets, les réglages d'e-mail et la sécurité du système, à prévoir à part.

Le script pose BookStack dans /var/www/bookstack. Celui d'Ubuntu 26.04 demande le domaine et l'adresse du compte administrateur, puis affiche à la fin un mot de passe tiré au hasard, absent de son journal : notez-le. Avec un autre script, relevez les accès affichés à la fin et changez tout accès par défaut dès la première connexion.

À la main, sur toute autre machine

Commencez par la base de données : une base, et un utilisateur limité à cette base. Le script du projet procède ainsi, avec le mot de passe de votre choix à la place de change-me :

Terminal
sudo mysql -u root --execute="CREATE DATABASE bookstack;"
sudo mysql -u root --execute="CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'change-me';"
sudo mysql -u root --execute="GRANT ALL ON bookstack.* TO 'bookstack'@'localhost';FLUSH PRIVILEGES;"

Récupérez ensuite la branche release, posez les droits que la documentation donne pour /var/www/bookstack, puis installez les dépendances :

Terminal
cd /var/www
sudo git clone https://source.bookstackapp.com/bookstack.git --branch release --single-branch bookstack
sudo chown -R $USER:www-data /var/www/bookstack
sudo chmod -R 755 /var/www/bookstack
sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache /var/www/bookstack/public/uploads
cd bookstack
composer install --no-dev
cp .env.example .env
sudo chmod 640 .env

Renseignez la base et l'adresse dans .env :

.env
APP_URL=https://docs.example.com
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=change-me
Terminal, dans /var/www/bookstack
php artisan key:generate
php artisan migrate

Pointez enfin la racine web sur le dossier public : DocumentRoot sur Apache, root sur Nginx. Sans Apache, ou quand les fichiers .htaccess sont désactivés, ajoutez les règles de réécriture d'adresses : le projet publie des exemples pour Apache et pour Nginx.

Une installation manuelle s'ouvre avec le compte admin@admin.com et le mot de passe password. Changez l'adresse et le mot de passe dès la première connexion.

HTTPS et APP_URL

Les visiteurs arrivent sur les ports 80 et 443, sous le nom de domaine du serveur. Créez pour ce nom des enregistrements A et AAAA, puis demandez le certificat : le script d'Ubuntu 26.04 configure Apache sur le port 80 seul, et la page d'installation laisse HTTPS à votre main. Certbot pose le certificat Let's Encrypt, adapte Apache et renouvelle le certificat de lui-même. Sous Nginx, remplacez --apache par --nginx.

Terminal
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com

Passez ensuite l'adresse en HTTPS dans .env. APP_URL doit correspondre exactement à l'adresse de visite, préfixe compris : un écart se voit par des styles absents, des icônes démesurées et des menus cassés. Une adresse en https active d'elle-même les cookies sécurisés.

.env
APP_URL=https://docs.example.com

Si des pages existent déjà, leurs liens gardent l'ancienne adresse dans la base. Sauvegardez la base, puis lancez la commande du projet :

Terminal, dans /var/www/bookstack
php artisan bookstack:update-url http://docs.example.com https://docs.example.com

BookStack se sert à la racine d'un domaine ou d'un sous-domaine, et la documentation décrit aussi une installation sous un sous-dossier, comme example.com/bookstack. Si un proxy inverse s'ajoute devant Apache, déclarez son adresse dans APP_PROXIES : sans elle, le journal d'audit et la limitation de débit voient l'adresse du proxy à la place de celle des visiteurs. La documentation réserve APP_PROXIES="*" au diagnostic.

Où vivent vos données

EmplacementCe qu'il contient
La base MySQL ou MariaDBToutes les données de l'application, dont le contenu de vos pages
.envLa configuration, avec APP_KEY et les accès à la base et au serveur d'e-mail
public/uploadsLes images, avec le stockage par défaut
storage/uploadsLes pièces jointes, protégées par les permissions de BookStack
themesVos personnalisations de thème, le cas échéant

Gardez la même APP_KEY dans la durée et sauvegardez-la. BookStack s'en sert pour chiffrer notamment les secrets de double authentification : la changer peut casser ces fonctions, et depuis la version 26.09 l'application renvoie une erreur si elle manque.

Les images sont publiques par défaut

Avec le stockage par défaut, le serveur web sert directement les images, ce qui va vite, et toute personne qui connaît leur adresse peut les ouvrir. Pour une documentation interne, le choix se fait dans STORAGE_TYPE :

<code>STORAGE_TYPE</code>ImagesAccès
localpublic/uploads/imagesServies directement par le serveur web
local_securestorage/uploads/imagesRéservées aux personnes connectées, sauf accès public activé
local_secure_restrictedstorage/uploads/imagesSelon les permissions de la page, l'option la plus gourmande
s3Un bucket compatible S3Images rendues publiques à l'envoi

Pour les fichiers lourds, trois réglages s'accordent : FILE_UPLOAD_SIZE_LIMIT dans .env, post_max_size et upload_max_filesize dans php.ini, et client_max_body_size sous Nginx, qui vaut 1 Mo par défaut.

Deux réglages comptent aussi pour une documentation vivante : chaque page garde 100 révisions par défaut (REVISION_LIMIT), et la corbeille conserve les éléments supprimés 30 jours (RECYCLE_BIN_LIFETIME).

Les e-mails : SMTP et file d'attente

BookStack envoie des e-mails pour la confirmation des adresses, l'oubli de mot de passe, les invitations et les notifications. Depuis un VPS Simafri, l'envoi passe par un relais SMTP authentifié, sur le port 587 : l'adresse d'un compte de messagerie que vous avez déjà, ou Simafri Suite.

.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=bookstack@example.com
MAIL_PASSWORD=change-me
MAIL_FROM=bookstack@example.com
MAIL_FROM_NAME=BookStack

Vérifiez le résultat dans « Settings », « Maintenance », avec l'action « Send a Test Email », qui affiche les erreurs rencontrées. Un échec lors d'une invitation s'affiche à l'écran, alors qu'un échec de notification reste dans le journal de l'application.

Envoyer en arrière-plan

Par défaut, BookStack envoie e-mails et webhooks pendant la requête, ce qui peut ralentir les pages. Pour passer en arrière-plan, écrivez QUEUE_CONNECTION=database dans .env et faites tourner un service, avec l'exemple que la documentation donne pour une installation Ubuntu par script :

/etc/systemd/system/bookstack-queue.service
[Unit]
Description=BookStack Queue Worker

[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/bookstack/artisan queue:work --sleep=3 --tries=1 --max-time=3600

[Install]
WantedBy=multi-user.target
Terminal
sudo systemctl daemon-reload
sudo systemctl enable bookstack-queue.service
sudo systemctl start bookstack-queue.service

Sécuriser votre instance BookStack

La documentation de sécurité donne une liste à reprendre dès l'installation :

  1. Changez l'adresse et le mot de passe du premier administrateur.
  2. Vérifiez que le serveur web sert le seul dossier public, surtout si BookStack vit sous /var/www.
  3. Limitez l'utilisateur de la base à la seule base de BookStack.
  4. Renseignez APP_URL, pour que les adresses générées par le système ne puissent pas être manipulées.
  5. Relisez les réglages d'inscription et d'accès public, puis les rôles.

La double authentification s'impose ensuite par rôle. Inscrivez-vous aussi à la liste de diffusion de sécurité du projet, pour recevoir ses alertes. L'adresse /status sert à une supervision : elle répond 200 quand tout va bien, et un code d'erreur égal ou supérieur à 400 sinon.

PHP compte autant que BookStack. Le projet a publié le 21 octobre 2026 une alerte sur une mise à jour critique de PHP, corrigée en 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Ubuntu publie ces correctifs sous ses propres numéros de paquets, comme 8.3.6-0ubuntu0.24.04.13 pour Ubuntu 24.04.

Pour vos contenus, gardez le filtrage activé par défaut, et réservez son assouplissement aux instances où seules des personnes de confiance écrivent. Si un compte administrateur se perd, php artisan bookstack:create-admin en crée un autre, et php artisan bookstack:reset-mfa retire la double authentification d'un utilisateur.

Sauvegardes et mises à jour

Une sauvegarde complète réunit la base et les quatre emplacements de fichiers propres à votre instance. Les exports de contenu servent à autre chose : la documentation précise qu'ils ne remplacent pas une sauvegarde.

Terminal, dans /var/www/bookstack
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes

La première ligne vise une installation par script, où le root de MySQL se connecte par sudo ; ailleurs, écrivez mysqldump -u bookstack -p bookstack. Rangez ces deux fichiers à part, sur une autre machine de préférence. L'archive contient .env, donc APP_KEY et vos mots de passe : traitez-la comme un secret.

Restaurer

Sur une machine neuve, installez BookStack sans lancer php artisan migrate, une étape à commenter dans le script si vous l'utilisez, puis restaurez la base et les fichiers, en gardant l'APP_KEY d'origine :

Terminal, dans /var/www/bookstack
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz

Si la version installée est plus récente que la sauvegarde, lancez ensuite php artisan migrate. Remettez les droits d'écriture du serveur web sur les dossiers restaurés. Si l'adresse a changé, corrigez APP_URL et lancez bookstack:update-url.

Mettre à jour

Sauvegardez la base et les fichiers avant chaque mise à jour, puis, depuis le dossier de BookStack :

Terminal, dans /var/www/bookstack
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear

Le script pour Ubuntu 26.04 installe BookStack sans Composer. La page des mises à jour propose alors, en bêta, ./bookstack-system-cli download-vendor à la place de composer install --no-dev. Ce même outil sait sauvegarder et restaurer, mais le projet ne le considère pas encore prêt pour la production : testez-le avant de vous y fier.

La documentation tient une liste de consignes propres à chaque version, à lire pour la version visée. Quelques exemples :

Les failles se corrigent dans des versions de maintenance, comme la 26.09.3 du 11 novembre 2026 : les images et les dessins d'une page en brouillon ou à la corbeille restaient accessibles et modifiables, et le brouillon personnel d'un éditeur pouvait apparaître à d'autres personnes.

Qui fait quoi sur un VPS infogéré

L'auto-hébergement demande de tenir le serveur en plus de l'application. Sur un VPS infogéré, nos équipes prennent le serveur en main et suivent votre instance de manière proactive ; BookStack reste votre logiciel, avec ses réglages et ses données.

SujetNos équipesVous
Le serveurMises à jour du système et de la sécurité, interventions sur le serveur comprisesLe moment qui convient à votre activité
La supervisionServeur suivi 24 h/24 et 7 j/7, avec intervention sans attendre votre appelVos utilisateurs, leurs rôles et vos contenus
BookStackSuivi proactif : erreurs, lenteurs et espace disque repérés, correction recommandéeSon installation, ses mises à jour et ses réglages, que vous appliquez, vous ou votre assistant IA
Les sauvegardesChaque nuit, chiffrées et gardées hors de la machine ; restauration compriseLa demande de restauration, quand vous en avez besoin
La migrationVotre serveur actuel migré, offertLe moment de la bascule

Si vous préférez que nos équipes interviennent dans l'application elle-même, cette prestation se facture à l'heure ou au forfait, avec un chiffrage communiqué avant l'intervention.

BookStack, sur un serveur tenu pour vous

Avec un VPS infogéré Simafri, nos équipes tiennent à jour le serveur de votre instance BookStack, le surveillent jour et nuit et interviennent sans attendre votre appel ; elles suivent aussi votre instance de manière proactive et vous recommandent les corrections utiles, que vous appliquez, vous ou votre assistant IA. Les sauvegardes sont chiffrées chaque nuit et gardées hors de la machine, leur restauration est comprise, et la migration de votre serveur actuel est offerte.

Découvrir les VPS infogérés

Questions fréquentes

BookStack est-il gratuit pour une entreprise ?

Oui. BookStack est sous licence MIT, qui autorise tout usage, et le projet tient une seule version, sans édition entreprise. Il propose aussi des formules de support payantes, qui restent facultatives. Reste le coût du serveur qui le fait tourner.

Comment installer BookStack sur Ubuntu ?

Sur un Ubuntu 26.04, 24.04 ou 22.04 tout neuf, téléchargez le script d'installation du projet, rendez-le exécutable et lancez-le avec sudo. Il installe Apache, MySQL et PHP. Sur une machine déjà en service, suivez l'installation manuelle, car le script peut écraser une configuration web existante.

Existe-t-il une image Docker officielle de BookStack ?

Non. Les installations en conteneur viennent de projets communautaires, LinuxServer.io et solidnerd. La voie officielle installe BookStack directement sur le serveur, avec PHP, MySQL ou MariaDB et un serveur web, à la main ou par le script pour Ubuntu.

Quelle configuration faut-il pour héberger BookStack ?

PHP 8.2 ou plus, MySQL 8.0 ou MariaDB 10.6 ou plus, Composer 2.2 ou plus, Git et un serveur web compatible PHP. Le projet ne chiffre ni la mémoire ni le processeur, et écarte l'hébergement PHP mutualisé.

Quel est le mot de passe par défaut de BookStack ?

Une installation manuelle s'ouvre avec admin@admin.com et le mot de passe password, à changer dès la première connexion. Le script pour Ubuntu 26.04 affiche à la fin un mot de passe tiré au hasard. En cas de perte d'accès, php artisan bookstack:create-admin crée un nouvel administrateur.

Comment sauvegarder BookStack ?

Exportez la base avec mysqldump, et archivez .env, public/uploads, storage/uploads et themes. Gardez l'APP_KEY d'origine lors d'une restauration, et rangez le tout hors de la machine. Les exports de contenu de BookStack ne remplacent pas cette sauvegarde.

Comment configurer les e-mails de BookStack ?

Renseignez MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM et MAIL_FROM_NAME dans le fichier .env, puis lancez Send a Test Email dans Settings, Maintenance. Depuis un VPS Simafri, l'envoi passe par un relais SMTP authentifié, sur le port 587.

Un VPS infogéré couvre-t-il BookStack ?

Un VPS infogéré couvre le serveur : système, sécurité, supervision et sauvegardes. Nos équipes suivent aussi votre instance de manière proactive et vous recommandent les corrections utiles, que vous appliquez. Une intervention dans l'application se facture à l'heure ou au forfait.

Sources et documentation officielle

Contactez-nous