BookStack Installation Guide
This Guide goes trough steps necessary for creating a good well organized step by step process. This guide walks you through deploying BookStack using Docker and Docker Compose, with a working configuration that includes MariaDB, proper environment variables, and SSL disabled for local development.
Prerequisites
Steps
These steps are for terminal access
mkdir ~/bookstack-docker
cd ~/bookstack-docker
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
- Change 'supersecurepassword' with unique password. Make sure they match for both environments
version: '3.8'
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- APP_URL=http://localhost:6875
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USERNAME=bookstack_user
- DB_PASSWORD=supersecurepassword
- DB_DATABASE=bookstack
- APP_KEY=base64:YOUR_GENERATED_KEY_HERE
volumes:
- bookstack_config:/config
ports:
- 6875:80
depends_on:
- bookstack_db
restart: unless-stopped
bookstack_db:
image: mariadb:10.5
container_name: bookstack_db
command: --ssl=OFF
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack_user
- MYSQL_PASSWORD=supersecurepassword
volumes:
- ./bookstack/db:/var/lib/mysql
restart: unless-stopped
volumes:
bookstack_config:
docker-compose up -d
docker logs bookstack
artisan, routes/, app/, etc.
docker exec -it bookstack /bin/bash
ls /app/www
docker exec -it bookstack /bin/bash
cd /app/www
php artisan bookstack:create-admin
Optional Enhancements
volumes:
- ./bookstack/uploads:/config/www/uploads
- ./bookstack/themes:/config/www/themes