Book a call
Tool in production (own practice)

BookStack

The wiki we use ourselves. Books → chapters → pages, WYSIWYG editor, full-text search, multi-user with roles. A concrete alternative to Notion and Confluence for consultancies, firms and SMBs with real knowledge to manage.

Project profile

BookStack

Wiki and knowledge base for teams

As of: June 1, 2026

GitHub stars

19k

Forks

2.4k

Open issues

0

License

MIT

Latest version

v26.05

Language

PHP

First release
August 29, 2015
Last commit
June 1, 2026

Third-party source · Wikidata (CC0)

Wikidata profile

BookStack

Q107122654

License

MIT License

Developer

Dan Brown

Initial release

2015-07-12

What is BookStack?

BookStack is a browser-based wiki, written in PHP on Laravel, maintained since 2015 by a small team. Content is organised in a hierarchy: books → chapters → pages. Every page has full-text search, versioning, PDF export, multi-user permissions.

The software is MIT licensed and has currently 0 open issues (snapshot 2026-06-01 at 18,801 stars) — an exceptional sign of maintenance quality. Unlike Confluence (Atlassian, SaaS, expensive) or Notion (US cloud, SaaS only), BookStack runs fully on your own server.

Why we use BookStack ourselves

We are a consulting practice ourselves — KaaTai-Beratung, small but with a large body of knowledge: subsidy logic, solution patterns for SMBs, tool research, client sessions, BMF-letter tracking. Notion was our internal wiki for 18 months. We had a problem: client-specific details had to live in the cloud.

18 months ago we migrated to BookStack on our own server. Today: 400+ pages of internal knowledge, used daily, full-text search in under a second. What you see here — every one of the 11 tool detail pages on this website — was developed from BookStack storyboards. This is not a theoretical showcase. This is the knowledge base from which this site grows.

Client case (own practice)

KaaTai-Beratung

1–2 people, ~30 active clients, ~400 pages of in-house knowledge. In productive use since February 2025, before that 18 months of Notion. The following requirements were the reason for migration — every one delivered, every one used daily.

Structured knowledge base

A hierarchy of books ( consulting, tool research, client patterns, tax & law), chapters (per topic or client industry), pages (concrete content). Notion has databases — we wanted a bookshelf metaphor, because our knowledge works that way.

Full-text search under 1 second

Search across all 400+ pages, all attachments, all diff versions. MariaDB full-text index runs on a mini PC with 8 GB RAM — a query ' subsidy logic 2025' finds every relevant spot in <500 ms.

Multi-user for growth

Currently one main user (owner), occasionally 2–3 people on bigger projects. Roles are defined (Admin, Editor, Viewer), permissions configurable per book. Grow without rebuild if the practice gets bigger.

WYSIWYG + Markdown freedom of choice

Some content is text-heavy (methodology, consulting notes) — Markdown is faster. Other content needs tables, images, code blocks — WYSIWYG is more intuitive. BookStack lets you switch per page; both modes are losslessly interchangeable.

Versioning per page

Every save produces a version. A diff view shows what changed. On a mistake: rollback by click. Important for evolving methodology — the subsidy logic of 2024 is not that of 2025, both versions are traceable.

Self-hosted for client confidentiality

Client-specific consulting notes, draft contracts, anonymised cases must not live in a US cloud (Notion). BookStack on our own server at Hetzner Frankfurt — all data in German legal space, GDPR trivial.

What we actually do with it

Eight productive from 18 months of BookStack practice. Each is the answer to a concrete question that used to live in Notion or loose Markdown files.

BAFA consulting walkthrough templates

The ' consulting' book contains templates for every consulting step: kickoff checklist, eligibility review, application support, proof-of-use. Every new client starts with a copy of the template — no step ever forgotten.

Tool page storyboards

Before a tool detail page on this website exists: a storyboard in BookStack with persona, client case, requirements, capabilities, alternatives, pricing. When the storyboard is round, it becomes the i18n JSON and the page. This entire tools section was built that way.

BMF letter tracking

The 'Tax & Law' book tracks relevant German BMF letters, law changes, BFH rulings. Updated each quarter. On a client question about the tax consequence of an investment: BookStack search instead of Google instead of Bundessteuerblatt PDF search.

Our own consulting methodology

How we run client sessions, what questions we ask, how we write reports — all a living document in BookStack. Updated after every engagement. The methodology grows out of practice, not consulting textbooks.

Contract templates + variants

Consulting contract (BAFA-suitable), subsidy support, implementation, workshop. Each variant with a diff to the standard. On contract need: open template, adapt, export — no 'where was the latest version?' hunt.

Client anonymisation library

The personas appearing on this website (Schäfer Haustechnik, Müller Bau, Pixelhaus, Hartmann + Voß and so on) are all derived from real clients, anonymised in BookStack. Who was anonymised when, which properties are generalised — all documented.

Tool research dossiers

The 'Tool research' book has a dossier per evaluated open-source tool: license, activity, community, self-hosting effort, client fit. Currently ~40 tools documented. The selection of the 11 hero tools on this site is based on these dossiers.

Knowledge sync with the Obsidian RAG

BookStack is the structured front layer; a second knowledge layer lives in as a vault on a Mac Studio with . Both layers are complementary: BookStack for structured content, for unstructured notes and queries.

Core capabilities of BookStack

What BookStack offers as a wiki — and which capabilities really carry our own practice.

Hierarchical books → chapters → pages

Three levels: book (large topic), chapter (sub-topic), page (content). Plus 'shelves' as a top level to group books. Clear, fast to navigate, no database complexity like in Notion.

WYSIWYG + Markdown toggle

Free choice per page: WYSIWYG editor (TinyMCE) or Markdown. Switching is lossless in both directions. Tables, code blocks with syntax highlighting, drag-and-drop images, attachments.

PDF and HTML export

Per page, chapter or book: PDF export for offline reading or client handover. HTML export for local archives. Markdown export for migration. Content is never locked in.

REST API for automation

Full REST : create, read, edit, delete pages. Tags, permissions, versions. We use the from workflows to generate knowledge entries from session minutes automatically.

Multi-user with roles

Preset roles (Admin, Editor, Viewer, Public) plus custom roles. Permissions configurable at book, chapter or page level. SSO via LDAP, SAML2, OAuth2 (for larger setups).

Full-text search (MariaDB FTS)

Standard MariaDB full-text search across all pages and attachments. Search results with highlight snippets. Performant even at 1,000+ pages, no separate search index required.

Honest alternatives

If BookStack is not a fit — what else?

Three alternatives with different strengths. BookStack has the widest sweet spot for SMBs and consultancies with 1–50 users.

Modern UX

Outline

Outline Technologies, BSL-1.1

  • + Very modern, app-like UI
  • + Self-hosting possible (BSL license)
  • − Cloud-first, self-hosting complicated
  • − BSL is not classic open source

File based, classic

DokuWiki

Andreas Gohr, GPL-2.0

  • + No database needed, just files
  • + Very lightweight, runs on mini hardware
  • − UI feels dated
  • − Plugin quality varies widely

SaaS market leader

Notion

Notion Labs, USA

  • + Excellent UX, block editor
  • + Databases + wiki + tasks in one
  • − US cloud, no self-hosting
  • − Per-user price scales quickly

Rule of thumb: for structured knowledge in a bookshelf metaphor with self-hosting, BookStack is the pragmatic choice. Anyone who prefers a modern app-like UX and is willing to use Outline (cloud or ) has a cleaner UI. DokuWiki is good for small setups without a database. Notion remains sensible when client confidentiality is not an issue.

Pricing

MIT. 0 open issues. Own practice.

License

MIT — classic OSI open-source license without obligations. Read source, modify, use commercially — all permitted. No per-user license, no volume limit. The LinuxServer.io container variant is also MIT.

Running costs

Two containers (BookStack app + MariaDB) on an existing Docker host. RAM footprint around 300 MB for a practice with 400 pages. Storage: around 100 MB for the DB plus the size of attachments. On a mini PC with 8 GB RAM it runs alongside everything else.

Effort

Initial setup: 30 minutes (Compose, first login, app URL). Structuring the books and migration from an existing knowledge base: 1–3 consulting days. Staff training: 1–2 hours per person.

BookStack currently has 0 open issues at 18,801 stars — an exceptional maintenance signal. The software has been around since 2015, the current release v26.05 is 4 days old. Maintainer Dan Brown typically replies in the forums within 24 hours. Care quality is first class.

REST API: create a new page via curl

# Generate API token in Settings → Users → your user
TOKEN="Token id:secret"

# Create a new page in a chapter
curl -X POST https://wiki.kaatai.com/api/pages \
  -H "Authorization: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "chapter_id": 42,
    "name": "Client case: HVAC firm Paperless-ngx",
    "markdown": "## Starting point\n\n12 people, 7400+ documents..."
  }'

# Full-text search
curl -G https://wiki.kaatai.com/api/search \
  -H "Authorization: $TOKEN" \
  --data-urlencode "query=BAFA subsidy logic"
Every operation in BookStack is reachable via REST API. For automation: create pages from n8n, generate knowledge entries from session minutes. Source: BookStack docs, MIT.

BookStack stack as Docker Compose

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack-app
    restart: unless-stopped
    depends_on: [bookstack-db]
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - APP_URL=https://wiki.kaatai.com
      - DB_HOST=bookstack-db
      - DB_USER=bookstack
      - DB_PASS=${BOOKSTACK_DB_PASS}
      - DB_DATABASE=bookstack
    volumes:
      - ./bookstack-data:/config
    networks: [frontend, bookstack-net]

  bookstack-db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: bookstack-db
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - MYSQL_ROOT_PASSWORD=${BOOKSTACK_ROOT_PASS}
      - MYSQL_DATABASE=bookstack
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=${BOOKSTACK_DB_PASS}
    volumes:
      - ./bookstack-db:/config
    networks: [bookstack-net]

networks:
  frontend:
    external: true
  bookstack-net:
Two containers: BookStack app (LinuxServer.io image, well maintained) and its own MariaDB. Volumes for configuration and uploads. Source: docs.linuxserver.io, MIT license.

Related topics

BookStack is a wiki — what hangs around it?

as the platform, Caddy as the HTTPS layer for wiki.firm.com, cluster pointers:

Ready for the next step?

Free intro call, no strings attached. In 30 minutes you'll know whether and how AI can help your business.

Book a callBAFA funding