BookStack
BookStack is a simple, self-hosted platform for organizing and storing information with a clean and intuitive interface. Content is organized in a three-level hierarchy: Shelves contain Books, which contain Chapters, which contain Pages โ making it easy to structure documentation, knowledge bases, and wikis. This stack deploys BookStack using the LinuxServer.io image backed by MariaDB 11 for reliable data storage. BookStack features a WYSIWYG editor with Markdown support, full-text search, image management, page revision history, role-based permissions, and multi-language support. It also supports LDAP, SAML2, and OIDC authentication, API access, webhooks, and PDF/HTML/Markdown export. After deployment, access the web UI on port 80 and log in with the default credentials: [email protected] / password. Change these immediately.
Included Services
bookstack
lscr.io/linuxserver/bookstack:latest
Environment Variables:
mariadb
mariadb:11
Environment Variables:
Generated YAML
# Generated by ComposeHub (composehub.dev)
name: bookstack
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
restart: always
ports:
- 80:80
volumes:
- bookstack_config:/config
environment:
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
TZ: ${TZ:-UTC}
APP_URL: ${APP_URL:-http://localhost}
DB_HOST: mariadb
DB_PORT: "3306"
DB_DATABASE: ${DB_DATABASE:-bookstack}
DB_USER: ${DB_USER:-bookstack}
DB_PASS: ${DB_PASSWORD:-changeme}
networks:
- bookstack
depends_on:
mariadb:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost/status || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: BookStack documentation and wiki platform
mariadb:
image: mariadb:11
restart: always
volumes:
- bookstack_db:/var/lib/mysql
environment:
MYSQL_DATABASE: ${DB_DATABASE:-bookstack}
MYSQL_USER: ${DB_USER:-bookstack}
MYSQL_PASSWORD: ${DB_PASSWORD:-changeme}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-changeme}
networks:
- bookstack
healthcheck:
test:
- CMD-SHELL
- healthcheck.sh --connect --innodb_initialized
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: MariaDB 11 database for BookStack
networks:
bookstack:
driver: bridge
volumes:
bookstack_config:
driver: local
bookstack_db:
driver: local
Quick Info
- Services
- 2
- Networks
- 1
- Volumes
- 2
When to Use
This template is ideal for setting up a bookstack environment. All services are pre-configured with healthchecks, resource limits, and sensible defaults. Customize environment variables before deploying to production.
Tips
- Change all default passwords before deploying
- Review resource limits for your hardware
- Add a reverse proxy for production HTTPS
- Configure backup strategies for data volumes