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.
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
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@example.com and password is password