Bookstack : self-host your own wiki
Initially, as I started using Linux as my daily desktop OS about 2 years ago, I took the habit to take some notes every time I struggled more than 10 minutes on a problem. Because most of time, a few weeks or a few months later the problem could reoccurs, and then you’re happy to get back to your notes, copy/paste the solution and get rid of it.
I started with a simple word processing document I was filling with new entries, but this quickly appears to be a pain in the neck for various obvious reasons.
At the same time, my wife was looking for a way to store her recipes and to be able to read them on both her computer and her mobile devices.
A web application seemed to be the way to go at this time.
I considered and tried a few of them :
- dokuwiki
- a WordPress instance customized to act as a wiki (there are some themes and plugins made for this)
- wiki.js
All these apps are certainly good, but one especially retained my attention : bookstack.

I’ve been using it for more than a year now, and I really like it :
- It’s super fast
- It’s very mobile friendly and fully responsive (my wife use it a lot on her phone)
- The UI is clean and nice
- It’s easy to manage many users with different roles
- A comprehensive documentation is available
- It’s super easy to deploy via docker
Speaking of deployment, the author provides various way to do it. Beginners can either use an Ubuntu installation script or deploy it in a Docker container. Here is a docker-compose recipe to quickly deploy it, from the linuxserver.io team :
---
version: "2"
services:
bookstack:
image: linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=http(s)://your_ip_or_your_domain
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=<yourdbpass>
- DB_DATABASE=bookstackapp
volumes:
- /path/to/data:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=<yourdbpass>
- TZ=Europe/London
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=<yourdbpass>
volumes:
- /path/to/data:/config
restart: unless-stopped
Customize it to your needs, run docker-compose up -d
and you’re good to go. Just remember to wait for a short while : the database is building up at the first launch.

You can have a look at the documentation, but I found the various menus and options self-explanatory.
So far, I’m using it to keep track of various guide / tutorials I wrote for myself related to computing in general. The WYSIWYG editor is nice, even though a few formatting bugs happen sometimes and force you to reload the page.
At the time of writing this post, there are about 140 entries/pages of various length in my bookstack instance, and 2 users. The bookstack_db container is using ~ 100mb of RAM and the app one ~80mb.
Both my wife and I are especially happy with the mobile UI, at least for reading, or even for quickly editing a page.

Conclusion
I’m very happy with this application and I strongly recommend it to anyone who wants a nicely polished and regularly updated wiki application for both personal or professional usage.