Installer Bookstack
Prérequis
Clé Laravel
Générer une clé Laravel : https://generate-random.org/laravel-key-generator
docker-compose.yaml
version: '3.9'
services:
########### BOOKSTACK - test ###########
bs:
image: lscr.io/linuxserver/bookstack
container_name: bs
restart: unless-stopped
volumes:
- '/volume1/docker/bs:/config'
environment:
PUID: 1026
PGID: 100
APP_URL: https://url.domain.com
APP_KEY: base64:votreclé
DB_HOST: bs_db
DB_USER: ectobs
DB_PASS: culpasswordlol
DB_DATABASE: bookstackdb
ports:
- '6089:80'
networks:
- bridge-bs-test
depends_on:
- bs_db
######### BOOKSTACK - DATABASE #########
bs_db:
image: lscr.io/linuxserver/mariadb
container_name: bs_db
restart: unless-stopped
volumes:
- '/volume1/docker/bs-db:/config'
environment:
PUID: 1026
PGID: 100
MYSQL_ROOT_PASSWORD: culculculcul
TZ: ${GB_TZ}'Europe/Zurich'
MYSQL_DATABASE: bookstackdb
MYSQL_USER: ectobs
MYSQL_PASSWORD: culpasswordlol
networks:
- bridge-bs-test
networks:
bridge-bs-test:
name: bridge-bs-test
driver: bridge
.env
# This file, when named as ".env" in the root of your BookStack install
# folder, is used for the core configuration of the application.
# By default this file contains the most common required options but
# a full list of options can be found in the '.env.example.complete' file.
# NOTE: If any of your values contain a space or a hash you will need to
# wrap the entire value in quotes. (eg. MAIL_FROM_NAME="BookStack Mailer")
# Application key
# Used for encryption where needed.
# Run `php artisan key:generate` to generate a valid key.
APP_KEY=base64:votreclé
# Application URL
# This must be the root URL that you want to host BookStack on.
# All URLs in BookStack will be generated using this value
# to ensure URLs generated are consistent and secure.
# If you change this in the future you may need to run a command
# to update stored URLs in the database. Command example:
# php artisan bookstack:update-url https://old.example.com https://new.example.com
APP_URL=https://url.domain.com
# Database details
DB_HOST=bs_db
DB_DATABASE=bookstackdb
DB_USERNAME=ectobs
DB_PASSWORD=culpasswordlol
# Mail system to use
# Can be 'smtp' or 'sendmail'
MAIL_DRIVER=smtp
# Mail sender details
MAIL_FROM_NAME="BookStack"
MAIL_FROM=bookstack@example.com
# SMTP mail options
# These settings can be checked using the "Send a Test Email"
# feature found in the "Settings > Maintenance" area of the system.
# For more detailed documentation on mail options, refer to:
# https://www.bookstackapp.com/docs/admin/email-webhooks/#email-configuration
MAIL_HOST=localhost
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Installation
Modifier les fichiers prérequis
- Générez et ajouter la clé laravel
- (optionnel) Changez le port de bookstack
- Saisissez la future url de votre application
- Modifiez les données d'identification à la base de donnée
- Chemin de stockage de votre application
- ...
La base de donnée n'a pas de port précisé, elle utilisera son port par défaut (3306) et n'interfèrera pas avec d'autre base de données utilisant le même port car les conteneur ont leur propre réseau docker.
Monter les dockers
sudo docker-compose -f votre-fichier-docker-compose.yaml up -d
Éteindre et supprimer le conteneur bookstack
Supprimez le conteneur bookstack (le but était juste de créer son fichier www/.env).
Supprimez tous ce qui se trouve dans le dossier bs/ à part www/.env.
Remplacez le contenu du fichier www/.env par celui du fichier prérequis que vous avez modifié.
Remonter le docker bookstack
sudo docker-compose -f votre-fichier-docker-compose.yaml up -d
(si le docker db était toujours actif, seul le conteneur bookstack démarrera).
Attendre
Vérifier via les logs que le conteneur Bookstack effectue des migration de fichier.
Une fois le message "done.", c'est bon.
Identifiant par défaut
admin@admin.com / password
