BookStack
| License | FOSS problems | Maintenance | SSO | Users | Tested |
|---|---|---|---|---|---|
| MITPermissive license. Preserve the copyright notice. Applies only to the covered code — your surrounding project can stay under any license. | — | Active | ✅ | Unlimited | ✅ |
Evaluation
What it is
BookStack is a structured knowledge base built around a fixed hierarchy: Shelves → Books → Chapters → Pages. It's opinionated — you can't restructure it — but that makes it predictable and easy to navigate. Content is rich text: formatted pages, images, attachments, and diagrams. It's designed for structured documentation — books, not notes.
Why it could be useful
The rigid hierarchy is actually a strength for a union context. It keeps things organised without requiring discipline from contributors — the structure does that for you. Anyone can find their way around without training, and it's hard to make a mess of it. A solid, no-nonsense knowledge base for documentation, policies, and internal reference material.
The feature set is complete without paywalling anything: full-text search across all content, SSO via OIDC or SAML for central identity management, an API for integrations and exports, and MFA.
Why not to go for it
The hierarchy is fixed — you work within Shelves, Books, Chapters, and Pages, and that's it. There's no flexible workspace or freeform organisation. Editing is also not real-time collaborative; multiple people can edit, but not simultaneously on the same page. Notion-style embeds, databases, and boards are absent — it's a documentation tool, not a flexible workspace.
Setup
-
Add DNS records pointing
docs.<domain>to the server:- A record:
docs→<ipv4> - AAAA record:
docs→<ipv6>
- A record:
-
In Coolify, go to New Resource → Service, search for BookStack, set the domain on the bookstack container (inside the container settings), then fill in the mail environment variables before deploying:
Variable Value MAIL_HOST{{team.DEFAULT_SMTP_HOST}}MAIL_PORT{{team.DEFAULT_SMTP_PORT}}MAIL_ENCRYPTIONtlsMAIL_USERNAME{{team.DEFAULT_SMTP_USERNAME}}MAIL_PASSWORD{{team.DEFAULT_SMTP_PASSWORD}}MAIL_FROM{{team.DEFAULT_SMTP_FROM}}MAIL_FROM_NAMEBookStack -
Deploy, then open
https://docs.<domain>and log in with the default credentials:- Email:
admin@admin.com - Password:
password
Change these immediately after first login.
- Email: