Skip to main content

BookStack installatie via Docker

Dit document beschrijft hoe je BookStack kunt installeren via Docker. De standaard Docker configuratie installeert alles wat benodigd is voor BookStack zelf, behalve de databaseserver. Deze kan toegevoegd worden in de installatie, maar er kan ook verwezen worden naar een losse databaseserver (SQL).

Installatie

Hieronder vindt je een compose.yml configuratie voor de installatie via Docker. Dit is zonder database-server. Je kan hier het stuk van SMTP weghalen wanneer dit niet voor jou van toepassing is.

Docker compose
---
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=CET
      - APP_URL=https://fqdn.extension
      - APP_KEY=base64:
      - APP_DEFAULT_DARK_MODE=true
      - DB_HOST=
      - DB_PORT=3306
      - DB_USERNAME=
      - DB_PASSWORD=
      - DB_DATABASE=
      - ALLOW_ROBOTS=true
      # SMTP Configuration
      - MAIL_DRIVER=smtp
      - MAIL_HOST=
      - MAIL_PORT=
      - MAIL_USERNAME=
      - MAIL_PASSWORD=
      - MAIL_ENCRYPTION=SSL
      - MAIL_FROM_ADDRESS=
      - MAIL_FROM_NAME=BookStack
    volumes:
      - /path/to/storage/host:/config
    ports:
    # port external, port internal Docker container
      - 6875:80
    restart: unless-stopped

Hieronder staat een compose file met een databaseserver. Ik raad aan om dit niet te gebruiken, en een losse databaseserver te gebruiken voor databases. Verander de standaard gegevens.

Docker compose met database
---
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=CET
      - APP_URL=https://fqdn.extension
      - APP_KEY=base64:
      - APP_DEFAULT_DARK_MODE=true
      - DB_HOST=
      - DB_PORT=3306
      - DB_USERNAME=
      - DB_PASSWORD=
      - DB_DATABASE=
      - ALLOW_ROBOTS=true
      # SMTP Configuration
      - MAIL_DRIVER=smtp
      - MAIL_HOST=
      - MAIL_PORT=
      - MAIL_USERNAME=
      - MAIL_PASSWORD=
      - MAIL_ENCRYPTION=SSL
      - MAIL_FROM_ADDRESS=
      - MAIL_FROM_NAME=BookStack
    volumes:
      - /path/to/storage/host/bookstack/app:/config
    ports:
    # port external, port internal Docker container
      - 6875:80
    restart: unless-stopped
    depends_on:
    - bookstack_db
  bookstack_db:
    image: linuxserver/mariadb
    container_name: bookstack_db
    hostname: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=ROOTPW
      - TZ=Europe/Amsterdam
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=USERPW1
    volumes:
      - /path/to/storage/host/bookstack/database:/config
    restart: unless-stopped
 
Na-installatie

Let op, na het starten van de Docker container moet er nog een APP_KEY gegenereerd worden. Dit is een encryptiekey. Dit doe je met:

docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

Deze zal je moeten kopiƫren en in de Docker compose file moeten plaatsen. Noteer deze key op een veilige plek!

BookStack is alleen te openen vanaf de url welke je instelt in de Docker compose file. Hier kan je ook een IPv4-adres met poort in noteren. Commando om de url aan te passen: 

docker exec -it bookstack php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL}

Let op, pas dit ook aan in je Docker compose file.

Na-installatie

Na het installeren kan je naar de url van de applicatie navigeren. Je kan inloggen met de standaard gegevens:

Pas dit uiteraard direct aan.