Bookstack as a knowledge organization tool
Bookstack is a wiki software that can be used as a great self-hosted alternative for paid, collaborative note-taking apps, such as Notion. If you are using Notion with a free account, you are probably familiar with its limitations. When you are collaborating with others on it, you are restricted by its block limit, which caps the paragraphs or content you can add. Notion's latest push on AI is another reason on our list to avoid it. And here comes Bookstack, an open source wiki software that can just perfectly replace any other collaborative note taking and thought organizing app. You can install Bookstack on your home server, and use it with multiple accounts for each person you are working with. This guide will explain its simple setting up process.
Bookstack is especially useful for organizing your thoughts, knowledge, tasks, resources and just about any notes you take—also collaboratively—let's you create so-called books which sits under shelves. Books then have chapters and pages inside. This is the basic structure of Bookstack, which is simple yet highly customizable. It can be used as a public wiki website, but also as a private note taking app which users have to log in.
Installation
Like some other guides on this wiki, we also use Docker to run Bookstack on our Debian Linux virtual machine on our home server. What is different on this one is that we are going to use Portainer, which is a graphical user interface to manage your Docker containers. These steps describe the process on a Linux OS. As a reminder, you can use Podman as a free and open source alternative to Docker. Here are the steps for deploying Bookstack as a Docker container:
- First steps will deal with installing Docker and deploying Portainer to manage your Docker containers with a graphical user interface instead of using the command line. If you have Docker already installed on your device, you can skip this. To install Docker set up Docker's apt repository:
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
Install the Docker packages:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verify that the installation is successful by running the hello-world image:
sudo docker run hello-world
- For installing Portainer to have a GUI to manage Docker containers, run this to deploy it as a Docker container:
sudo docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce:latest
With this, you will access Portainer by typing the-IP-address-of-your-device:9000 on your browser's URL bar. At your first login it will ask you to create an admin account. Then you will see a page where the environments are listed, and you should be able to see your local environment where you Docker containers reside, or will reside.