Skip to main content

BookStack

LicenseFOSS problemsMaintenanceSSOUsersTested
MITPermissive license. Preserve the copyright notice. Applies only to the covered code — your surrounding project can stay under any license.ActiveUnlimited

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

  1. Add DNS records pointing docs.<domain> to the server:

    • A record: docs<ipv4>
    • AAAA record: docs<ipv6>
  2. 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:

    VariableValue
    MAIL_HOST{{team.DEFAULT_SMTP_HOST}}
    MAIL_PORT{{team.DEFAULT_SMTP_PORT}}
    MAIL_ENCRYPTIONtls
    MAIL_USERNAME{{team.DEFAULT_SMTP_USERNAME}}
    MAIL_PASSWORD{{team.DEFAULT_SMTP_PASSWORD}}
    MAIL_FROM{{team.DEFAULT_SMTP_FROM}}
    MAIL_FROM_NAMEBookStack
  3. 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.