[{"data":1,"prerenderedAt":176},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-bookstack-ma-fr":6,"promo-bar-likely":175},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-bookstack-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":133,"ctaBody":134,"ctaButton":135,"ctaUrl":136,"relatedPosts":137},79,"heberger-bookstack",{"fr":10,"en":12,"ar":13,"es":14},"host-bookstack-on-your-own-vps","استضافة-bookstack-على-خادم-vps-الخاص-بك","alojar-bookstack-en-un-vps","Héberger BookStack sur votre propre VPS","Guide complet pour installer BookStack sur VPS avec Docker Compose, SSL, SMTP et sauvegarde. Wiki open source, ~2 Go de RAM, déployé en 15 minutes.",7,2,false,"2026-04-02T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-bookstack-poster.svg",{"categorySlug":33,"appSlug":34},"collaboration","bookstack","BookStack est une plateforme de documentation open source organisée en étagères, livres, chapitres et pages. Auto-hébergée sur un VPS, elle devient le wiki interne de votre équipe ou agence : recherche full-text, éditeur WYSIWYG, permissions granulaires. Ce guide couvre l'installation complète avec Docker Compose, la configuration SSL, le dépannage des erreurs courantes et la mise en place d'une sauvegarde fiable.",[37,41,52,55,84,103,106,109,112,120,123,127],{"type":38,"title":39,"body":40},"h2","Pourquoi self-héberger BookStack sur un VPS","BookStack se distingue par sa simplicité : là où d'autres wikis noient l'utilisateur sous les options, il impose une hiérarchie claire — étagères, livres, chapitres, pages — qui rend la documentation navigable immédiatement. Construit sur Laravel, il est léger et facile à maintenir. Auto-hébergé sur VPS, il garde toute votre documentation interne — procédures, runbooks, base de connaissances client — sur votre propre infrastructure, sans abonnement par utilisateur. Pour une agence qui documente ses projets ou une équipe technique qui centralise ses procédures, c'est un wiki privé que vous contrôlez de bout en bout, avec recherche full-text, gestion fine des permissions et éditeur WYSIWYG ou Markdown.",{"type":42,"title":43,"items":44},"ul","Bénéfices concrets d'un BookStack auto-hébergé",[45,46,47,48,49,50,51],"Structure claire en étagères\u002Flivres\u002Fchapitres\u002Fpages : documentation navigable sans effort.","Éditeur WYSIWYG et Markdown au choix, avec diagrammes Draw.io intégrés.","Permissions granulaires par rôle et par livre pour cloisonner les contenus sensibles.","Recherche full-text rapide sur l'ensemble de la base de connaissances.","Authentification LDAP, SAML ou OAuth pour s'intégrer à votre annuaire d'entreprise.","Empreinte légère : un VPS avec 2 Go de RAM suffit pour une documentation d'équipe.","Aucun abonnement par utilisateur — un nombre sans limite de membres de contributeurs sans surcoût.",{"type":38,"title":53,"body":54},"Prérequis matériels et logiciels","BookStack est peu exigeant. Un VPS de 1 à 2 vCPU et **2 Go de RAM minimum** héberge confortablement la documentation d'une équipe ; avec BookStack et MariaDB tournant ensemble, réserver 2 Go est le plancher recommandé — en dessous, les migrations Laravel au premier démarrage peuvent échouer par manque de mémoire. La consommation grimpe surtout avec le volume d'images uploadées.\n\nPrévoyez 15 à 25 Go de SSD selon la quantité de pièces jointes. Côté logiciel : Docker 24+ et le plugin Compose v2 (`docker compose` sans tiret), un sous-domaine `wiki.votredomaine.com` avec un enregistrement A, et un accès SMTP pour les invitations et notifications par e-mail.",{"type":56,"title":57,"headers":58,"rows":63},"comparison","BookStack vs alternatives self-hosted",[59,60,61,62],"Outil","Modèle","RAM min.","Point fort",[64,69,74,79],[65,66,67,68],"BookStack","Laravel + MariaDB","2 Go","Hiérarchie livres\u002Fchapitres, WYSIWYG",[70,71,72,73],"Wiki.js","Node.js + DB au choix","512 Mo","Éditeur moderne, Git sync",[75,76,77,78],"Outline","Node.js + PostgreSQL","1 Go","Interface Notion-like, API riche",[80,81,82,83],"Confluence","SaaS \u002F on-premise","4 Go+","Intégration Atlassian, mature",{"type":85,"title":86,"steps":87},"steps","Déployer BookStack avec Docker Compose et SSL",[88,91,94,97,100],{"title":89,"body":90},"Préparer le VPS et installer Docker","Connectez-vous en SSH puis installez Docker et le plugin Compose :\n\n```bash\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\napt install docker-compose-plugin\nmkdir -p \u002Fopt\u002Fbookstack && cd \u002Fopt\u002Fbookstack\n```\n\nVérifiez : `docker compose version` doit afficher v2.x ou supérieur. L'image communautaire `lscr.io\u002Flinuxserver\u002Fbookstack` est la plus répandue et la mieux maintenue pour un déploiement conteneurisé.",{"title":92,"body":93},"Créer le fichier docker-compose.yml","Créez `\u002Fopt\u002Fbookstack\u002Fdocker-compose.yml` avec les deux services — MariaDB et BookStack — sur un réseau dédié :\n\n```yaml\nservices:\n  mariadb:\n    image: mariadb:10.11\n    environment:\n      MYSQL_ROOT_PASSWORD: changeme_root\n      MYSQL_DATABASE: bookstack\n      MYSQL_USER: bookstack\n      MYSQL_PASSWORD: changeme_bk\n    volumes:\n      - .\u002Fdata\u002Fmariadb:\u002Fvar\u002Flib\u002Fmysql\n    networks: [bookstack]\n\n  bookstack:\n    image: lscr.io\u002Flinuxserver\u002Fbookstack:latest\n    environment:\n      PUID: 1000\n      PGID: 1000\n      APP_URL: https:\u002F\u002Fwiki.votredomaine.com\n      DB_HOST: mariadb\n      DB_USER: bookstack\n      DB_PASS: changeme_bk\n      DB_DATABASE: bookstack\n      MAIL_DRIVER: smtp\n      MAIL_HOST: smtp.votredomaine.com\n      MAIL_PORT: 587\n      MAIL_FROM: wiki@votredomaine.com\n      MAIL_USERNAME: wiki@votredomaine.com\n      MAIL_PASSWORD: votre_mot_de_passe_smtp\n    ports:\n      - \"6875:80\"\n    volumes:\n      - .\u002Fdata\u002Fbookstack:\u002Fconfig\n    depends_on: [mariadb]\n    networks: [bookstack]\n\nnetworks:\n  bookstack:\n```\n\n`APP_URL` doit correspondre exactement à l'URL HTTPS finale. Une valeur incorrecte casse les liens internes et les uploads.",{"title":95,"body":96},"Lancer la stack et vérifier les logs","```bash\ndocker compose up -d\ndocker compose logs -f bookstack\n```\n\nAu premier démarrage, BookStack exécute automatiquement les migrations Laravel pour créer le schéma de la base. Attendez la ligne `Server running on http:\u002F\u002F0.0.0.0:80` avant de continuer — cela prend 30 à 60 secondes.",{"title":98,"body":99},"Configurer le reverse proxy et SSL","Avec **Caddy** (gestion automatique du certificat) :\n\n```\nwiki.votredomaine.com {\n    reverse_proxy localhost:6875\n}\n```\n\nRedémarrez Caddy : `systemctl reload caddy`.\n\nAvec **Nginx + Certbot** :\n\n```nginx\nserver {\n    listen 80;\n    server_name wiki.votredomaine.com;\n    return 301 https:\u002F\u002F$host$request_uri;\n}\nserver {\n    listen 443 ssl;\n    server_name wiki.votredomaine.com;\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fwiki.votredomaine.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fwiki.votredomaine.com\u002Fprivkey.pem;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:6875;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n```\n\nObtenez le certificat avec `certbot --nginx -d wiki.votredomaine.com`.",{"title":101,"body":102},"Première connexion et sécurisation du compte admin","Ouvrez `https:\u002F\u002Fwiki.votredomaine.com`. Le compte par défaut est `admin@admin.com` avec le mot de passe `password`. Changez-les immédiatement dans **Paramètres → Profil**.\n\nVérifiez ensuite que le SMTP fonctionne : **Paramètres → Configuration des e-mails → Envoyer un e-mail de test**. Si le test échoue, consultez les logs : `docker compose logs bookstack | grep -i mail`.",{"type":38,"title":104,"body":105},"Configuration avancée : SSO, LDAP et SAML","BookStack prend en charge plusieurs mécanismes d'authentification centralisée, configurables via des variables d'environnement dans le `docker-compose.yml`.\n\n**LDAP \u002F Active Directory** : ajoutez les variables `AUTH_METHOD=ldap`, `LDAP_SERVER`, `LDAP_BASE_DN`, `LDAP_USER_FILTER` et `LDAP_VERSION`. Les utilisateurs se connectent alors avec leurs identifiants d'entreprise sans compte BookStack séparé.\n\n**SAML 2.0** (pour des fournisseurs comme Authentik, Keycloak ou Azure AD) : passez `AUTH_METHOD=saml2` et renseignez `SAML2_IDP_ENTITYID`, `SAML2_IDP_SSO` et `SAML2_IDP_SLO`. La documentation officielle de BookStack fournit des exemples par fournisseur.\n\n**OAuth social** (GitHub, Google, Slack) : chaque fournisseur a sa paire de variables `*_APP_ID` \u002F `*_APP_SECRET`. Cette option est utile pour des équipes qui souhaitent éviter la gestion de mots de passe sans déployer un serveur LDAP.",{"type":38,"title":107,"body":108},"Sauvegarder et restaurer BookStack","Une instance BookStack repose sur **trois éléments** : la base MariaDB, le dossier `uploads` (images et pièces jointes) et la valeur `APP_KEY` dans la configuration. Sans l'`APP_KEY`, les contenus chiffrés sont irrécupérables après restauration.\n\nScript de sauvegarde quotidienne à placer dans `\u002Fetc\u002Fcron.daily\u002Fbookstack-backup` :\n\n```bash\n#!\u002Fbin\u002Fbash\nBACKUP_DIR=\u002Fvar\u002Fbackups\u002Fbookstack\nmkdir -p $BACKUP_DIR\nDATE=$(date +%Y%m%d)\ndocker exec $(docker ps -qf name=mariadb) \\\n  mysqldump -u bookstack -pchangeme_bk bookstack \\\n  > $BACKUP_DIR\u002Fbookstack-db-$DATE.sql\ntar -czf $BACKUP_DIR\u002Fbookstack-uploads-$DATE.tar.gz \u002Fopt\u002Fbookstack\u002Fdata\u002Fbookstack\u002Fuploads\nfind $BACKUP_DIR -mtime +14 -delete\n```\n\nCopiez ensuite ces archives vers un stockage externe (S3, Backblaze B2, ou le stockage objet de votre VPS). Conservez l'`APP_KEY` dans un gestionnaire de secrets hors serveur — c'est le seul élément qui ne peut pas être recréé.",{"type":38,"title":110,"body":111},"Dépannage : erreurs courantes","Quelques erreurs reviennent souvent lors d'une installation fraîche ou d'une mise à jour.",{"type":42,"title":113,"items":114},"Problèmes fréquents et solutions",[115,116,117,118,119],"**Erreur SMTP « Connection refused » ou timeout** : vérifiez que `MAIL_PORT` correspond au port réel (587 pour STARTTLS, 465 pour SSL). Certains serveurs SMTP bloquent le port 25 sortant. Testez la connectivité depuis le conteneur : `docker exec -it bookstack curl -v telnet:\u002F\u002Fsmtp.votredomaine.com:587`.","**Permissions sur `storage\u002F` : erreur 500 ou page blanche** : le dossier `\u002Fopt\u002Fbookstack\u002Fdata\u002Fbookstack` doit appartenir à l'UID 1000 (variable `PUID`). Corrigez avec `chown -R 1000:1000 \u002Fopt\u002Fbookstack\u002Fdata\u002Fbookstack` puis redémarrez le conteneur.","**Lenteur ou timeout avec MariaDB au démarrage** : BookStack attend que MariaDB soit prêt. Si le conteneur BookStack redémarre en boucle les premières secondes, c'est normal. Ajoutez un `healthcheck` sur le service `mariadb` dans le Compose ou attendez 30 secondes avant d'inspecter les logs.","**Images qui ne s'affichent pas après déplacement** : `APP_URL` doit correspondre exactement à l'URL HTTPS publique. Si vous changez de domaine, mettez à jour `APP_URL` dans le Compose, redémarrez le conteneur, puis exécutez `php artisan bookstack:update-url` depuis le conteneur pour mettre à jour les URLs stockées en base.","**Migrations bloquées au premier démarrage (OOM)** : si le VPS dispose de moins de 2 Go de RAM, les migrations Laravel peuvent être tuées par l'OOM killer. Ajoutez un fichier de swap de 2 Go (`fallocate -l 2G \u002Fswapfile && mkswap \u002Fswapfile && swapon \u002Fswapfile`) ou augmentez la RAM du VPS avant de relancer.",{"type":38,"title":121,"body":122},"Mettre à jour BookStack","L'image `lscr.io\u002Flinuxserver\u002Fbookstack:latest` reçoit les nouvelles versions peu après leur publication sur GitHub. Pour mettre à jour :\n\n```bash\ncd \u002Fopt\u002Fbookstack\ndocker compose pull\ndocker compose up -d\ndocker compose logs -f bookstack\n```\n\nLes migrations de base de données sont appliquées automatiquement au démarrage. Consultez les \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBookStackApp\u002FBookStack\u002Freleases\">notes de version BookStack\u003C\u002Fa> avant toute mise à jour majeure : certaines versions introduisent des changements de schéma ou de configuration.",{"type":124,"title":125,"body":126},"tip","Astuce de sécurité","Configurez une entrée `robots.txt` ou protégez votre instance BookStack derrière un pare-feu applicatif si elle contient des procédures internes sensibles. BookStack ne propose pas de mode « intranet seulement » par défaut — l'URL publique est accessible à quiconque connaît l'adresse. Pour une documentation vraiment privée, combinez les permissions granulaires de BookStack avec une règle UFW ou un VPN WireGuard qui restreint l'accès au port 443.",{"type":42,"title":128,"items":129},"Pour aller plus loin",[130,131,132],"\u003Ca href=\"\u002Fblog\u002Fheberger-nextcloud\">Héberger Nextcloud sur VPS\u003C\u002Fa> — stockage cloud et collaboration documentaire.","\u003Ca href=\"\u002Fblog\u002Fheberger-gitea\">Héberger Gitea sur VPS\u003C\u002Fa> — forge Git auto-hébergée pour vos équipes de développement.","\u003Ca href=\"\u002Fblog\u002Fself-host-authentik-vps\">Authentik sur VPS\u003C\u002Fa> — SSO open source pour centraliser l'authentification de BookStack et vos autres apps.","Installer BookStack sur un VPS ServOrbit en un clic","BookStack est disponible dans le Marketplace ServOrbit. Commandez un VPS Cloud et le wiki structuré s'installe automatiquement, MariaDB incluse.","Voir la fiche BookStack","\u002Fapplications\u002Fcollaboration\u002Fbookstack",[138,157],{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":147,"views":148,"isPinned":19,"noindex":19,"publishedAt":149,"updatedAt":150,"category":151,"categories":152,"featuredImage":29,"bgImage":30,"posterImage":154,"relatedSolution":155},81,"heberger-wiki-js",{"fr":140,"en":142,"ar":143,"es":144},"host-wikijs-on-your-own-vps","استضافة-wikijs-على-خادمك-الافتراضي-الخاص-vps","alojar-wiki-js-en-un-vps","Héberger Wiki.js sur votre propre VPS","Installez Wiki.js sur votre VPS : wiki moderne en Markdown avec Git, PostgreSQL, authentification et SSL via Docker. Tutoriel pas à pas.",4,1,"2026-03-31T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[153],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-wiki-js-poster.svg",{"categorySlug":24,"appSlug":156},"wiki-js",{"id":158,"slug":159,"slugs":160,"title":164,"excerpt":165,"readTime":166,"views":148,"isPinned":19,"noindex":19,"publishedAt":167,"updatedAt":168,"category":169,"categories":170,"featuredImage":29,"bgImage":30,"posterImage":172,"relatedSolution":173},71,"heberger-nextcloud",{"fr":159,"en":161,"ar":162,"es":163},"hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","alojar-nextcloud-en-su-propio-vps","Héberger Nextcloud sur VPS : guide NC 35, PHP 8.3 et MariaDB 11","Hébergez Nextcloud sur VPS : Docker Compose, Redis, sauvegarde MariaDB, envois de plus de 40 Go derrière Cloudflare et alternative à Office 2021.",20,"2026-04-10T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[171],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":24,"appSlug":174},"nextcloud",true,1794270713724]