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
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.
Use your Bookstack’s URL to access the running container. Default user is [email protected] and password is password