BookStack
BookStackApp · Knowledge bases
GitHub stars
19,114Awaiting first sync
No measured star history yet
What is BookStack?
BookStack gives a team a simple place to write and find internal documentation. Its book, chapter and page structure is easy to follow, and anyone with basic word processing skills can start writing. Permissions and company sign-in keep sensitive content limited to the right people.
BookStack is a self-hosted platform for storing and organising documentation. Content sits in a simple hierarchy of shelves, books, chapters and pages, written in a WYSIWYG editor or an optional Markdown editor. It includes search, roles and permissions, page revisions, diagrams.net drawings, and sign-in through LDAP, SAML2 or OIDC.
Core capabilities
- Organises content into shelves, books, chapters and pages.
- WYSIWYG and Markdown editors with built-in diagrams.net drawings.
- Role-based permissions with LDAP, SAML2, OIDC and enforced MFA.
A clear structure for documentation
BookStack organises content in four levels: optional bookshelves, books, optional chapters and pages. Pages are written in a WYSIWYG editor, or in an optional Markdown editor with live preview. Drawings and diagrams can be created inside the editor with diagrams.net. Search works within a single book or across all content, and links can point straight to a paragraph.
- Wiki
- WYSIWYG
- Markdown
- Diagrams
Permissions and sign-in
A role and permission system controls who can view, create and change content and who can perform each action. Users can sign in with email and password, or through OIDC, SAML2, LDAP and several social login options. TOTP multi-factor authentication with backup codes can be enforced per role. Users can choose light or dark mode, and the interface is available in many languages.
- Permissions
- LDAP
- SAML2
- MFA
Run it yourself under MIT
BookStack is a PHP application that needs PHP 8.2 or newer, MySQL 8.0 or MariaDB 10.6 or newer, Git and Composer. The manual install clones the release branch, configures a .env file and runs the database migrations. Install scripts are provided for fresh Ubuntu 22.04, 24.04 and 26.04 servers, and community Docker images from LinuxServer.io and solidnerd are also documented. Shared PHP hosting is not supported. BookStack is released under the MIT licence, and development and issue tracking now take place on Codeberg.
- Self-hosted
- PHP
- MySQL
- MIT
Where it fits
Use cases
- 01
Write an internal staff handbook
Create a book for each topic, group related pages into chapters, and place books on shelves for each department. Mark a page as a template so new pages start from the same layout. Tags add a second way to group content across books.
- 02
Control who can read and edit documentation
Set up roles with the permissions each group needs to view, create and change content. Connect BookStack to your directory through LDAP, SAML2 or OIDC. Multi-factor authentication with TOTP apps and backup codes can be enforced per role.
- 03
Export or move documentation between instances
Export content as a Contained Web File, PDF File, Plain Text File, Markdown File or Portable ZIP. The Portable ZIP includes attachments and images, and can be imported on another instance through the Import action on the Books view. Page revisions keep a record of earlier versions.