BookStack is a free, open-source platform for documentation, wikis, and knowledge bases — a self-hosted alternative to tools like Confluence and Notion for teams that want their knowledge on their own server. It organizes content into an intuitive hierarchy of Books, Chapters, and Pages, with a friendly editor, full-text search, page history, and permissions. This guide covers what BookStack is good for and how to deploy it as a one-click Docker stack.
Why BookStack instead of a pile of documents?
Most teams' knowledge lives in a chaotic mix of shared drives, chat messages, and someone's memory. A wiki fixes that — but many wikis are either too simple (a flat list of pages) or too complex (a markup language nobody wants to learn). BookStack lands in the middle on purpose:
- A structure people understand. Content nests as Books → Chapters → Pages, a bookshelf metaphor that non-technical teammates grasp immediately.
- An editor that does not fight you. A visual WYSIWYG editor for most people, with a Markdown mode for those who prefer it.
- Search that works. Full-text search across everything, so knowledge is findable, not just stored.
- History and permissions. Page revisions let you see what changed and roll back; role-based permissions control who can view and edit what.
BookStack is a two-container stack
Unlike a single-container app, BookStack needs a database. The Panelica template deploys this as a linked stack: the BookStack application container plus a MariaDB container, wired together automatically on a private network. You do not configure the database connection by hand — the template generates the database password, injects it into both containers, and keeps the database off any public port. If the mechanics of that interest you, we broke down the one-click deploy pipeline in detail.
Deploying on Panelica
- Deploy the BookStack template from the Docker app catalog. Both containers come up together.
- Let the database password auto-generate — it is marked as a required secret, so leaving it blank produces a strong random value rather than a weak default.
- Set the application URL. BookStack builds absolute links, so it needs to know its own address. Use the published port for testing, then update it to your real domain once you attach one.
- Budget around 512 MB of RAM for the app to start; the database wants a little of its own. It is a comfortable fit on a modest server.
- Open the web UI and log in with the default administrator account BookStack creates on first run, then change that password immediately.
Putting it behind your domain
Documentation is usually shared, so a clean URL matters. Link a subdomain such as docs.example.com or wiki.example.com through Panelica's reverse proxy for automatic HTTPS, then set that same URL as BookStack's application URL so its internal links and search results point to the right place. Getting the application URL and the domain to match is the one setup detail worth double-checking — mismatches cause broken links that are annoying to trace later.
Making it genuinely useful to your team
- Seed it with the boring-but-critical stuff first: onboarding steps, server access procedures, the runbook for the thing that breaks at 2 AM. Knowledge bases die when they start empty and aspirational.
- Use permissions to lower the barrier, not raise it — let people edit freely within their area. An over-locked wiki stops getting updated.
- Rely on page history so you can be relaxed about edits; nothing is truly lost, and you can always see who changed what.
Frequently asked questions
Can non-technical people use it?
That is a core design goal. The visual editor and bookshelf structure are aimed squarely at teammates who will never touch Markdown. Technical users get Markdown mode if they want it.
How do I back it up?
BookStack's content lives in its MariaDB database and its upload volumes. Use an application-aware stack backup that dumps the database and archives the volumes together — a file copy of a running database risks corruption.
Does it support images and file attachments?
Yes. You can embed images and attach files to pages; they are stored in the app's upload volumes, which is why those volumes are part of any proper backup.
Can I import my existing docs?
BookStack supports importing and its editor accepts pasted rich content and Markdown, so moving existing material in is straightforward, page by page or in bulk depending on your source format.
The takeaway
BookStack gives a team a real, searchable, permissioned knowledge base with a structure ordinary people actually use — no vendor, no subscription, on your own server. On Panelica it deploys as a linked app-plus-database stack in one click, with the database password generated and the wiring handled. Point a docs. subdomain at it, match the application URL, back up the database properly, and you have replaced the shared-drive chaos with something people will actually keep updated.