Skip to content

BookStack — The Personal Wiki

BookStack is the personal wiki, a chronicle of lore and knowledge. Runs on RogueLeader, exposed publicly at https://wow-cp.friloux.me through Traefik + CrowdSec (box port-forward of 80/443 to 192.168.0.10).

DaemonRole
wow-cp-bookstackBookStack application (linuxserver image)
wow-cp-mariadbMariaDB database
wow-cp-mysqldumpAutomated SQL backup cron

Dedicated internal network wow-cp + web network for Traefik exposure.

/srv/docker/wow-cp.friloux.me/
├── data/ # BookStack files (uploads, linuxserver config)
├── db/ # MariaDB data
└── dumps/ # SQL dumps (mysqldump cron)
Terminal window
# BookStack — verifies DB is reachable
docker exec wow-cp-bookstack curl -fs http://localhost/status | grep '"database":true'
# MariaDB
docker exec wow-cp-mariadb mysqladmin ping -h localhost --silent

The wow-cp-mysqldump daemon automatically dumps the database into /srv/docker/wow-cp.friloux.me/dumps/. These dumps are included in Borg backup.

Manual dump:

Terminal window
docker exec wow-cp-mariadb mysqldump \
-u root \
--all-databases > /srv/docker/wow-cp.friloux.me/dumps/manual_$(date +%Y%m%d).sql
Terminal window
# Stop BookStack
systemctl stop docker-wow-cp-bookstack
# Restore from a dump
docker exec -i wow-cp-mariadb mysql -u root < /srv/docker/wow-cp.friloux.me/dumps/dump.sql
# Restart
systemctl start docker-wow-cp-bookstack

Three separate env files:

  • services/wow-cp/env_bookstack: BookStack config (APP_KEY, DB_HOST, DB_PASSWORD, etc.)
  • services/wow-cp/env_mariadb: MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, etc.
  • services/wow-cp/env_mysqldump: mysqldump credentials