📚 BookStack

BookStack is a simple and user-friendly F/OSS platform for storing and organizing information.

BookStack is a simple, open-source, self-hosted, easy-to-use platform for organising and storing information.

Looking for an easy documentation, knowledge base, or wiki solution?

BookStack (code) is a simple, self-hosted F/OSS project that can serve as all three!

The platform's main advantages are:

  • User-friendly interface
  • Simple content structuring and editing
  • Doesn’t require using code or markup languages

Users can create content and organize it into books, chapters, and pages:

BookStack UI on bookstackapp.com (source: https://bookstackapp.com)

The platform’s features include media embedding, rich text editing, version control, a search solution, and granular access control.

BookStack is also highly customizable, and users can add custom themes and plugins.

BookStack is built using the Laravel PHP framework and uses MySQL to store data. Performance has been kept in mind and BookStack can run happily on a $5 Digital Ocean VPS.

To get a feel for this easy and accessible wiki solution, try out the demo.

Running BookStack

BookStack has excellent installation documentation, which you can peruse. While the project doesn't have a first-party docker container, there are two very high quality community images to choose from:

Assuming you're running MySQL already on port 3306 locally, BookStack is quite self-contained and easy to run with docker:

docker run \
  -e DB_HOST=bookstack_db:3306 \
  -e DB_DATABASE=bookstack \
  -e DB_USERNAME=bookstack \
  -e DB_PASSWORD=secret \
  -e APP_URL=http://example.com \
  -v /path/to/public/uploads:/var/www/bookstack/public/uploads \
  -v /path/to/storage/uploads:/var/www/bookstack/storage/uploads \
  -p 8080:8080 \
  --name="bookstack_22.04" \

There's also an .envfile that's normally available at /var/www/bookstack.env that you can mount in with Docker if you're so enclined.