Skip to main content

1. Installing Bookstack

As with other docker apps in this book, we are going to be installing bookstack using docker compose (aka Portainer Stack)

Open your browser, and navigate to your Portainer Instance.

On the left-hand menu, click on Stacks and then click on Add Stack.

Enter a stack name, something like Bookstack, and copy paste the following into the text box:

---
version: "2"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - 'APP_URL=https://kvis.uk' #change this according to your requirements
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS=bookstack
      - DB_DATABASE=bookstackapp
    volumes:
      - /pathtobookstack/bookstack/config:/config # change this directory as desired
    ports:
      - 6876:80 #change the number on the right side to something that hasn't yet been used
    restart: unless-stopped
    depends_on:
      - bookstack_db
  bookstack_db:
    image: lscr.io/linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=<yourdbpass> # put a very secure password here
      - TZ=Europe/London
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=bookstack
    volumes:
      - /pathtobookstack/bookstack/database:/config #change this directory as desired
    restart: unless-stopped

Go through comments on the docker compose text box written above, and edit as required.

If you are confused by PGID and PUID then please visit this link and come back here

Once everything is complete, press Deploy Stack and wait a few minutes. Bookstack is quite a big program (Although not as big as nextcloud for obvious reasons), and thus it may take some time to install.

In addition to that, this program is very resilient. Simply copying your database and bookstack config directories to another machine and redeploying it works without issues

Links: