Wiki.js vs BookStack
Pick Wiki.js for a Markdown-first documentation wiki with an official image, a documented PostgreSQL compose file, and a broad module system (Markdown/visual/HTML editors; local, social, LDAP/SAML/CAS/OIDC login with 2FA, all free under AGPL-3.0) — accepting a 1 GB floor, a required sub-domain, and a planned 3.0 migration down the road. Pick BookStack for a non-technical team: shelves, books and pages in a plain MIT-licensed PHP app on 512 MB, with LDAP/SAML2/OIDC and social login also free, no major-version move on the horizon, but no official container image either.
Side by side
Wiki.js and BookStack are the two "just give me a documentation wiki" picks in this hub, and both sit at the same difficulty 2/5. They part ways on almost everything underneath: BookStack is a PHP/Laravel application on MariaDB with a deliberately opinionated shelves → books → pages structure and a 512 MB floor; Wiki.js is a Node.js application that wants a PostgreSQL container beside it, documents a 1 GB floor, and puts its energy into editors and login modules. Neither is a real-time collaborative editor — if that is what you are after, look at Docmost or Outline instead.
Two ideas of what a docs wiki is
BookStack organizes knowledge the way a bookshelf does: shelves hold books, books hold chapters and pages. That structure is the product. It nudges a non-technical team into filing things somewhere sensible, the WYSIWYG editor stays out of the way, and the whole thing runs as a tidy PHP app that has been quietly reliable for years. It is MIT-licensed, which is about as uncomplicated as software licensing gets.
Wiki.js is a developer's wiki. It ships Markdown, visual (WYSIWYG) and raw HTML editors side by side, an extensive admin area, and a module system for authentication, rendering, search and storage that you switch on and off per feature. It is AGPL-3.0 — fully open, with the copyleft strings that license carries for anyone who modifies and hosts it.
Setup: the same difficulty, different shapes
Both rate 2/5, and neither makes you do anything exotic, but the shapes differ:
- BookStack has no official container image. Its own install docs point to community Docker setups; the snippet on our page runs LinuxServer's image with a MariaDB container beside it. It works well — it just means the image you run is not the project's.
- Wiki.js publishes an official image (
ghcr.io/requarks/wiki, tagged by major version) and the docs hand you a complete compose file with PostgreSQL. What it does not ship is a database engine: you provision Postgres yourself, and the docs are explicit that the other supported engines (MySQL, MariaDB, MS SQL Server, SQLite) will be dropped in the next major version. - Wiki.js needs its own sub-domain. The requirements page says it cannot
be mapped to a subfolder, so
wiki.example.comis the deployment, notexample.com/wiki.
Login and access
Neither wiki charges for enterprise login, so this row is a draw rather than a differentiator. Wiki.js's free build includes local accounts with self-registration and password recovery, social login (Google, GitHub, Microsoft, Discord, Slack and more), enterprise providers (LDAP, SAML, CAS, Auth0, Okta, Azure AD) plus generic OAuth2 and OpenID Connect, and two-factor authentication on supported modules. Wikis can be public, fully private, or a mix.
BookStack's free MIT build answers with an AUTH_METHOD of standard,
LDAP, SAML2 or OIDC, plus social login through Google, GitHub, GitLab,
Azure, Okta, Slack, Discord and Twitch — all configured in its .env. Where
Wiki.js goes further is breadth of modules (CAS, Auth0, generic OAuth2 as
separate switchable providers); where BookStack is simpler is that the whole
matrix is a handful of environment variables.
Footprint
BookStack lists 512 MB; Wiki.js documents 1 GB on Linux, while noting the process itself idles far lower and bursts during page rendering and indexing. On any current entry-tier VPS both fit, but if you are squeezing a wiki onto a box that already runs other things, BookStack is the lighter guest.
Where each one is heading
BookStack's pitch is stability, and its release cadence reflects that. Wiki.js has a more interesting roadmap: the 2.x line is the current stable release while a 3.0 rewrite has been in beta, and the docs promise an export/import tool for the eventual move. That is not a reason to avoid it — 2.x keeps getting releases — but a Wiki.js install today comes with a planned migration attached, where a BookStack install does not.
Pick Wiki.js if…
- You write documentation in Markdown and want a real editor for it, with a visual editor available for teammates who don't.
- You want the project's own container image and a documented compose file, and you are happy to run PostgreSQL.
- You want the widest set of switchable modules — editors, auth providers (including CAS and generic OAuth2), rendering, search, storage.
Pick BookStack if…
- Your team is not made of developers and the shelves/books/pages structure will do more for adoption than any editor feature.
- You want the smaller footprint (512 MB) and a plain MIT license with no copyleft obligations to think about.
- You would rather not have a planned major-version migration on the horizon.
The honest trade-off
Wiki.js wins this comparison for most self-hosters because the things it adds — Markdown editing alongside a visual editor, the project's own container image with a documented compose file, and a broad module system — are the things a developer-heavy team runs into first, and its 1 GB floor is the smallest VPS tier anyway. Enterprise login is not the tiebreaker: both ship LDAP, SAML and OIDC for free. BookStack is the better pick when the audience is non-technical and the goal is a wiki that gets filled in rather than admired: lighter, simpler, MIT, and with no 3.0 migration to plan for. Both are good; the question is who will be writing in it.
Common questions
Wiki.js vs BookStack — which should I self-host?
Pick Wiki.js if your team writes in Markdown and wants the project's own container image with a documented PostgreSQL compose file. Pick BookStack if the people writing are not developers — its shelves/books/pages structure and WYSIWYG editor do more for adoption, and it runs on 512 MB under an MIT license. Enterprise login is not the deciding factor: both ship LDAP, SAML and OIDC in their free builds.
Does either need a separate database?
Both do. BookStack runs on MariaDB. Wiki.js bundles no database engine at all — its docs recommend PostgreSQL and say MySQL, MariaDB, MS SQL Server and SQLite will not be supported in the next major version, so start on Postgres.
Is Wiki.js 3.0 out?
Not as a stable release. The 2.x line is the current stable and still receives releases; 3.0 is in beta, and the project's requirements page says an export/import tool will be provided for the move. Treat it as a planned migration rather than an image-tag bump.
Paid link — we earn a commission if you shop through it.
Other comparisons with these apps
The flat-file team wiki with page ACLs vs. the engine behind Wikipedia.
Simple and truly open vs. slick and real-time.
A real-time Notion-style wiki with a paid ring vs. the simplest fully free docs wiki.