# Installation bookstack

installation avec docker : suivre le tuto du site

Commentaires

- Difficulté pour l’accéder en réseau, et sans avoir un nom de domaine qui permette la certification
- Difficulté pour gérer les mails (envoi de mail sur événement)

<header class="single-post-header" id="bkmrk-installer-bookstack-"># Installer BookStack avec Docker

<div class="post-meta text-s"><span class="post-author"><svg></svg>[zarev](https://belginux.com/author/zarev/)</span><time class="post-date" datetime="2024-03-03"><svg></svg>3 mars 2024</time><span class="read-time"><svg></svg>6 min de lecture</span></div></header>### Table des matières

<div class="toc-container" id="bkmrk-%E2%9A%A1caract%C3%A9ristiques-l%27"><div class="toc js-toc">1. [⚡Caractéristiques](https://belginux.com/installer-bookstack-avec-docker/#%E2%9A%A1caract%C3%A9ristiques)
2. [L'installation](https://belginux.com/installer-bookstack-avec-docker/#linstallation)
    1. [Configurer le serveur mail](https://belginux.com/installer-bookstack-avec-docker/#configurer-le-serveur-mail)
3. [Compte admin](https://belginux.com/installer-bookstack-avec-docker/#compte-admin)
4. [Changer la langue](https://belginux.com/installer-bookstack-avec-docker/#changer-la-langue)
5. [Changer le Nom et l'E-mail du profil](https://belginux.com/installer-bookstack-avec-docker/#changer-le-nom-et-le-mail-du-profil)
6. [Changer le mot de passe](https://belginux.com/installer-bookstack-avec-docker/#changer-le-mot-de-passe)
7. [Activer le mode sombre](https://belginux.com/installer-bookstack-avec-docker/#activer-le-mode-sombre)

</div></div>> Merci à **DRjekyll49** &amp; **Biinocle** pour m'avoir averti du changement dans le compose!

BookStack est une plateforme simple, auto-hébergée et facile à utiliser pour organiser et stocker des informations sous forme de wiki.

### ⚡Caractéristiques

<div class="single-post-content" id="bkmrk-gratuit-et-open-sour">- Gratuit et open source: BookStack est entièrement gratuit et ouvert, sous licence MIT. La source est disponible sur GitHub. Il n'y a aucun frais pour télécharger et installer votre propre instance de bookstack.
- Interface simple et facile: la simplicité a été la priorité absolue lors de la création de BookStack. L'éditeur de page possède une interface WYSIWYG simple et tout le contenu est divisé en trois groupes simples =&gt; Livres, Chapitres, Pages.
- Consultable et connecté: le contenu de BookStack est entièrement consultable. Vous pouvez effectuer une recherche au niveau du livre ou dans tous les livres, chapitres et pages. La possibilité de créer un lien direct vers n’importe quel paragraphe vous permet de garder votre documentation connectée.
- Configurable: les options de configuration vous permettent de configurer BookStack en fonction de votre cas d'utilisation. Vous pouvez modifier le nom, le logo et les options d'enregistrement. Vous pouvez également modifier si l'ensemble du système est visible publiquement ou non.
- Exigences simples: BookStack est construit en utilisant PHP, au-dessus du framework Laravel et utilise MySQL pour stocker les données. Les performances ont été gardées à l'esprit et BookStack peut fonctionner sans problème sur un simple VPS.
- L'éditeur de pages de BookStack intègre la capacité de dessin de [https://app.diagrams.net](https://app.diagrams.net/?ref=belginux.com), permettant la création rapide et facile de diagrammes dans votre documentation.
- Multilingue: les utilisateurs de BookStack peuvent définir leur langue préférée. Grâce aux excellents contributeurs de la communauté, les langues actuelles intégrées à BookStack incluent EN, FR, DE, ES, IT, JA, NL, PL, RU et bien d'autres.
- Éditeur de démarques facultatif: si vous préférez écrire en Markdown alors BookStack vous soutient. Un éditeur de démarques est fourni et inclut un aperçu en direct pendant que vous rédigez votre documentation.
- Authentification intégrée: en plus de la connexion par e-mail/mot de passe par défaut, des fournisseurs sociaux tels que GitHub, Google, Slack, AzureAD et bien d'autres peuvent être utilisés. Les options Okta, SAML2 et LDAP sont disponibles pour les environnements d'entreprise.
- Fonctionnalités puissantes: en plus de la recherche et des liens puissants, il existe également un tri croisé entre les livres, des révisions de pages et une gestion des images. Un système complet de rôles et d'autorisations vous permet de verrouiller le contenu et les actions selon vos besoins.
- Authentification multifacteur: MFA est intégré et peut être appliqué au niveau de chaque rôle, si vous le souhaitez. Les options MFA incluent TOTP (Google/Microsoft Authenticator, Authy, etc...) et des codes de sauvegarde statiques.
- Modes sombre et clair: BookStack propose son interface utilisateur à la fois dans un thème clair et dans un thème sombre, sauvant ainsi les yeux de ceux qui préfèrent travailler dans l'ombre. Ceci est configurable au niveau de l'utilisateur.

<figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/bookstack-hero-screenshot.webp)</figure></div>Si vous avez la moindre difficulté, n'oubliez pas que vous pouvez rejoindre belginux sur [Discord et Matrix](https://belginux.com/contactez-moi/)!

<div class="single-post-content" id="bkmrk-">---

</div>## L'installation

<div class="single-post-content" id="bkmrk-il-faut-commencer-pa">1. Il faut commencer par générer une clé avec la commande suivante:

<div class="code-toolbar"></div></div>```code
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
```

<div class="single-post-content" id="bkmrk-copy"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div></div>Ce qui retourne:

<div class="single-post-content" id="bkmrk--1"><figure class="kg-card kg-image-card">![](https://belginux.com/content/images/2024/11/Screenshot_20241108_151002.png)</figure></div>Copiez toute la clé, base64: compris, et mettez cette clé de côté.

<div class="single-post-content" id="bkmrk-cr%C3%A9ez-votre-docker-c">2. Créez votre docker-compose.yml:

<div class="code-toolbar"></div></div>```code
sudo nano docker-compose.yml
```

<div class="single-post-content" id="bkmrk-copy-collez-%C3%A7a-dedan"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div>3. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:

<div class="code-toolbar"></div></div>```yaml
version: "2"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - APP_KEY=base64:mhoEccThD5nT/94EWcFnWQV6E8XNeNVca75J7neYz6s=
      - APP_URL=http://192.168.1.152:6875
      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USERNAME=bookstack
      - DB_PASSWORD=VotreMotDePasse
      - DB_DATABASE=bookstackapp
      - APP_DEFAULT_DARK_MODE=true
      #- MAIL_DRIVER=smtp
      #- MAIL_HOST=smtp.gmail.com
      #- MAIL_PORT=465
      #- MAIL_ENCRYPTION=tls
      #- MAIL_USERNAME=yourEMAIL
      #- MAIL_PASSWORD=yourPassword
      #- MAIL_FROM=yourEMAIL
      #- MAIL_FROM_NAME=yourNAME
    volumes:
      - ./config:/config
    ports:
      - 6875:80
    restart: unless-stopped
  bookstack_db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: maria_db
    ports:
      - 3308:3306 # 3308 is a DB port visible on HOST
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=VotreMotDePasseBis
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=VotreMotDePasse
    volumes:
      - ./db/config:/config
    restart: unless-stopped
```

<div class="single-post-content" id="bkmrk-copy-1"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div></div>Veillez à compléter les éléments suivants:

<div class="single-post-content" id="bkmrk-%C2%A0--app_key%3D%C2%A0%3D%3E-indiq">- [ ]  **- APP\_KEY=** =&gt; Indiquez la clé complète générée au début du tutoriel.

- [ ]  **- APP\_URL=http://192.168.1.152:6875** =&gt; soit vous indiquez votre IP locale + port ou votre nom de domaine, https.ndd.tld.

- [ ]  **- DB\_PASS=VotreMotDePasse** =&gt; choisissez un mot de passe fort.

- [ ]  **- MYSQL\_ROOT\_PASSWORD=VotreMotDePasseBis** =&gt; choisissez un mot de passe fort différent de VotreMotDePasse.

- [ ]  **- TZ=Europe/Brussels** =&gt; adaptez suivant votre localisation.

- [ ]  **- MYSQL\_PASSWORD=VotreMotDePasse** =&gt; choisissez un mot de passe fort.

- [ ]  **\#- APP\_DEFAULT\_DARK\_MODE=true** =&gt; décommentez, donc retirez le signe # si vous voulez que le mode sombre soit activé par défaut.

</div>### Configurer le serveur mail

Si vous voulez activer le serveur mail (dans cet exemple, Gmail, adaptez selon le fournisseur), il faut décommenter, donc retirez le signe **\#** de toutes les lignes concernant le serveur mail et compléter comme ceci:

<div class="single-post-content" id="bkmrk-%C2%A0mail_driver%3Dsmtp-%C2%A0m">- [ ]  **MAIL\_DRIVER=smtp**

- [ ]  **MAIL\_HOST=smtp.gmail.com**

- [ ]  **MAIL\_PORT=465**

- [ ]  **MAIL\_ENCRYPTION=tls**

- [ ]  **MAIL\_USERNAME=yourEMAIL** =&gt; remplacer yourEMAIL par votre Gmail.

- [ ]  **MAIL\_PASSWORD=yourPassword** =&gt; remplacer yourPassword par le mot de passe créé, lire l'encadré ci-dessous.

- [ ]  **MAIL\_FROM=yourEMAIL** =&gt; remplacer yourEMAIL par votre Gmail.

- [ ]  **MAIL\_FROM\_NAME=yourNAME** =&gt; remplacer yourNAME par votre nom.

<div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Pour le mot de passe, avec Gmail c'est terminé de mettre son vrai mot de passe dans une application tierce. Ils ont mis en place un système pour créer un mot de passe différent pour une application tierce.  
[Je l'explique ici](https://belginux.com/nextcloud-configurer-le-serveur-de-messagerie/), à partir de **Activez la double authentification sur votre compte Gmail** jusqu'à **Copiez et conservez bien votre mot de passe, validez ensuite avec OK**.  
Quand vous avez le mot de passe dédié, mettez-le dans le formulaire.</div></div>4. On va déployer l'application:

<div class="code-toolbar"></div></div>```code
docker-compose up -d

```

<div class="single-post-content" id="bkmrk-copy-2"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div></div>ou avec docker-compose V2:

```code
docker compose up -d
```

<div class="single-post-content" id="bkmrk-copy-%F0%9F%92%A1-cela-peut-pre"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Cela peut prendre un peu de temps avoir que tout soit bien déployé, soyez patient.</div></div>5. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 6875 par défaut:

<div class="code-toolbar"></div></div>```code
http://ip:6875/
```

<div class="single-post-content" id="bkmrk-copy-3"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div></div>Ou votre domaine:

```code
https://bookstack.mondomaine.com
```

<div class="single-post-content" id="bkmrk-copy-4"><div class="code-toolbar"><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" data-copy-state="copy" type="button">Copy</button></div></div></div>---

</div>## Compte admin

Lors du premier lancement il faudra indiquer le compte administrateur par défaut:

<div class="single-post-content" id="bkmrk-e-mail%C2%A0%3D%3E-admin%40admi">- **E-mail** =&gt; admin@admin.com
- **Mot de passe** =&gt; password

</div>Validez en cliquant sur **Se Connecter**:

<div class="single-post-content" id="bkmrk--2"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_162311.png)</figure></div>Bienvenue sur la page principale de BookStack:

<div class="single-post-content" id="bkmrk--3"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_162652.png)</figure>---

</div>## Changer la langue

Allez en haut à droite, cliquez sur **Admin**, ensuite sur **My Account**:

<div class="single-post-content" id="bkmrk--4"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_162858.png)</figure></div>Dans **Preferred Language**, sélectionnez la langue de votre choix, ici le français, validez avec **Save**:

<div class="single-post-content" id="bkmrk--5"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_162944.png)</figure></div>BookStack est désormais en français:

<div class="single-post-content" id="bkmrk--6"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_163049.png)</figure>---

</div>## Changer le Nom et l'E-mail du profil

Allez en haut à droite, cliquez sur **Admin**, ensuite sur M**on compte**:

<div class="single-post-content" id="bkmrk--7"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_163313.png)</figure></div>Changez **Nom** et **E-mail** avec les informations souhaitées, validez avec **Enregistrer**:

<div class="single-post-content" id="bkmrk--8"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_163401.png)</figure>---

</div>## Changer le mot de passe

Allez en haut à droite, cliquez sur **Admin**, ensuite sur M**on compte**:

<div class="single-post-content" id="bkmrk--9"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_163313.png)</figure></div>Dans le menu de gauche, sélectionnez **Accès et sécurité**, remplissez les deux champs du mot de passe et validez en cliquant sur **Modifier**:

<div class="single-post-content" id="bkmrk--10"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_163700.png)</figure>---

</div>## Activer le mode sombre

Tout simplement sur la page principale:

<div class="single-post-content" id="bkmrk--11"><figure class="kg-card kg-image-card kg-width-wide">![](https://belginux.com/content/images/2024/03/Screenshot_20240302_165151.png)</figure></div>