Designed to help you maximize your productivity, note-taking apps offer an easy way to organize your ideas. With the self-hosted community growing larger by the minute, there’s an abundance of note-taking apps you can run on local hardware.

While Joplin, TriliumNext Notes, and Silverbullet bring their own unique set of features to the table, BookStack stands out as the best option for productivity experts who want to micro-manage their notes inside a wiki-esque environment. So, we’ve created a guide to familiarize you with all the facilities this wonderful app offers.

What’s BookStack?

And why should you use it?

Whereas most note-taking apps organize your notes within folders, BookStack provides multiple sub-directories to help you sort your ideas in an orderly fashion. At the top of the hierarchy lie the shelves, which contain the next sub-directory called books. As you may have guessed, books include chapters, with the pages serving as the editable documents containing your notes. The overall layout of BookStack is similar to that of a wiki, and with enough formatting, you can turn your BookStack shelves into information-rich wiki pages containing everything from text and tables to code blocks and media files.

BookStack is just as effective on the actual note-taking aspect, as the pages include everything from basic text formatting options to more advanced facilities like coding syntax, diagrams.net graphics, and collapsible text blocks. BookStack also includes robust tagging and search systems, with the latter allowing you to search for any strings of text within your self-hosted wiki pages. If you’re not a fan of the rich WYSIWYG interface, you can switch to a markdown editor to jot down the notes in markup syntax!

Deploying a BookStack instance

Depending on your home lab operating system, there are multiple ways to run BookStack. Proxmox users have the most painless setup process for BookStack, as the community-driven Proxmox VE Helper-Scripts (formerly managed by genius developer tteck) repository has a one-click BookStack LXC deployment script.

  1. Switch to the Shell tab of your preferred Proxmox node and paste this command:
    bash -c "$(wget -qLO -https://github.com/community-scripts/ProxmoxVE/raw/main/ct/bookstack.sh)"
  2. Tap Yes when Proxmox displays the confirmation message.
  3. Choose Default Settings to begin the automated installation process.
  4. Once the script has finished deploying your BookStack container, you can access it using the IP address at the bottom of the shell UI.

Alternatively, you can host BookStack easily within an Ubuntu virtual machine by following these steps:

  1. Use the wget utility to download the BookStack installation script:
    wgethttps://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
  2. Run the chmod command with a+x parameter to make the .sh file executable:
    chmod a+x installation-ubuntu-24.04.sh
  3. Execute the script with this command:
    sudo ./installation-ubuntu-24.04.sh
  4. Enter the domain name or IP address for the BookStack server.
  5. Once the installation is complete, you can access the BookStack server using the IP address displayed in the terminal.

Besides Proxmox, other home server operating systems such as YunoHost and Unraid may include BookStack containers in their app stores. Depending on your OS, you may have to manually enter the port number, app key, and user credentials before you can gain access to the BookStack web UI.

Accessing the BookStack web UI

With the container up and running, it’s time to add your notes to it. The BookStack web UI will be the same regardless of the method you’ve used to deploy the server.

  1. Enter admin@admin.com as the Email and password as the Password to log into BookStack.
  2. Inside the Dashboard, tap the Shelf button and click on Create one now.
  3. Enter a Name for your master shelf, give it a brief Description, and hit the Save Shelf button. For a more organized setup, you can also give it a Cover Image and assign some Shelf Tags.
  4. Within the newly-created shelf, select the Create new book option.
  5. Just like before, give a Name and Description (and other optional fields) to your book and tap the Create Book button.
  6. Click on Create a new page to start adding your notes to the BookStack server. If you want to add another layer of hierarchy for your notes, click on Add a chapter and fill in the Name, Description, and other details.

Creating your informative wiki servers with BookStack

If you’ve used other note-taking apps in the past, you’ll feel at home with BookStack’s extensive set of formatting options. Once you've added tables, code blocks, drawings, and media files to your text notes, you can use the page as a template to facilitate the creation of your personal wiki.