Chandan
Chandan
I am a Linux Engineer by profession and a self-hosting hobbyist, I love to deploy, test, self-host my services and have control over my data with respect to security,privacy.

Deploy your own personalized wiki: Bookstack on Docker

- Advertisement -

This post is about Installing Bookstack on Docker

Bookstack is an Opensource self-hosted wiki service which can handle any of your guides, references, flowcharts, Has built in integration of diagrams.net which you can use to create aesthetic diagrams.

Pre-requisites:

Docker and Docker compose installed
I am using Ubuntu 22.04 here and you can install docker from here and docker compose from here

Here I will guide you to run Bookstack using docker and also running a database container required by Bookstack.

version: "2"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - APP_URL= #YOUR_BOOKSTACK_URL_HERE
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS= #YOUR_DB_PASSWORD_HERE
      - DB_DATABASE=bookstackapp
    volumes:
      - /path/to/config:/config
    ports:
      - 80:80
    restart: always
    depends_on:
      - bookstack_db
  bookstack_db:
    image: lscr.io/linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD= #YOUR_MYSQL_ROOT_PASSWORD_HERE
      - TZ=America/New_York
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD= #YOUR_DB_PASSWORD_HERE
    volumes:
      - path/to/config:/config
    restart: always
docker-compose.yml
Directory Structure used by me

You need to specify your Bookstack’s URL (Can be even IP if you don’t have a domain), DB credentials, path/docker volumes to be mounted. Use PUID/GUID of the user who has access to the mounted paths. Optionally you can specify docker network as well if you are using a proxy or want to isolate it on a separate network.

Use docker-compose up -d command to pull the above containers and run them. You can even use an external Mysql database and provide access credentials of it to bookstack.

docker-compose up -d

Use your Bookstack’s URL to access the running container. Default user is admin@admin.com and password is password

Bookstack Login

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest articles

Join us on Facebook

x