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
![](https://unixcop.com/wp-content/uploads/2022/05/1-2.png)
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.
![](https://unixcop.com/wp-content/uploads/2022/05/2-2.png)
Use your Bookstack’s URL to access the running container. Default user is [email protected] and password is password
![](https://unixcop.com/wp-content/uploads/2022/05/3-2-1024x236.png)