LibrePortal
Sponsor
Install

Bookstack

Wiki/Knowledge Base

BookStack is a wiki that's easy to keep tidy. Everything lives on shelves, in books, in chapters and pages, so the boiler manual, the family recipes and your server notes each have an obvious home, and anyone can find them again.

On this page
  1. At a glance
  2. What it's good for
  3. Signing in
  4. Adding people
  5. Making your first book
  6. Private or public
  7. Good to know
  8. Addresses and ports
  9. Settings
  10. In its config file
  11. Tools
  12. Works with
  13. Privacy and security
  14. What leaves this server
  15. What LibrePortal turns off
  16. Sources
  17. Under the hood

At a glance#

What it is
Wiki/Knowledge Base Knowledge
Where it opens
Web Interface On its own port at http://your-server:port, or bookstack.your-domain once you have a domain
Updates
Automatic A backup is taken first, and it rolls back if the update fails
Backups
Included Part of the daily backup when that's switched on
Copies
As many as you like Run several copies, each with its own data

What it's good for#

Most wikis turn into a heap of pages nobody can find. BookStack avoids that by borrowing the shape of a library: shelves hold books, books hold chapters, and chapters hold pages. You always know where something should go, and so does the next person.

It suits a household's shared notes (how the heating works, where the stopcock is, the Wi-Fi password for guests), a club's handbook, or the documentation for your own server. Pages are written in a friendly editor that works like a word processor, or in Markdown if you prefer. Every save is kept as a revision, so a mistake is never permanent, and a search box finds text anywhere in the wiki.

BookStack or Trilium?

Trilium is a personal notebook: one person's thoughts, linked every which way. BookStack is for knowledge you share with other people, with accounts, roles and a clear structure. If others will read it, BookStack is the better fit.

Signing in#

BookStack always creates its first account with a well-known email and password that are printed in its own documentation. LibrePortal doesn't leave you with that. As soon as BookStack answers, the install creates LibrePortal's admin account with a generated password, then deletes the well-known one. Until it has checked that the well-known login no longer works and the new one does, BookStack is reachable from the server only (why).

The admin signs in with an email address. It's the Bookstack Admin Email on the Config tab, which starts as admin@example.com; change it before you install if you want your own. The email and password are in the Login Details shown when the install finishes, and Welcome on the app's page shows them again.

If the install couldn't make the account

If something went wrong (BookStack didn't answer within two minutes, say), the install says so and leaves the app reachable from the server only, so nobody can use the well-known login from elsewhere. The simplest fix is to uninstall it and install it again. Only restart it to open it up once you know the admin account on the card works.

Installs made with 0.4.6 or earlier could be left with the well-known login if their install went wrong. From 0.4.7, whenever BookStack starts and that login still works, LibrePortal gives the account the generated password instead (and the admin email, if no other account has it), so the Login Details are the way in. An account whose password was ever changed is left alone.

Adding people#

Use the Tools tab to make accounts, so you never need to switch on BookStack's self-registration.

  1. Open Bookstack's page in LibrePortal and go to Tools.
  2. Run Create User Account with their email and a display name. Leave the password empty and one is made for you. Tick Make admin only for people who should run the wiki with you.
  3. Send them the address and their password, and ask them to change it once they're in.

People you add without Make admin are given BookStack's Public role, the one it uses for visitors who aren't signed in, which usually can't edit anything. To let them write, sign in as the admin, open Settings, then Users, and give them the Editor role (or Viewer for read-only).

The other tools are Reset User Password, Set Admin Status, List Users and Delete User Account. They all find people by email address.

Resetting the admin's password

Use Reset User Password with the admin email to change the admin's password, and the Login Details show the new one too. If you change it inside BookStack instead, or reset it with 0.4.6 or earlier, the card keeps the old password, so note the new one somewhere safe.

Making your first book#

Sign in and create a book first; a shelf is only a way of grouping books, and you can add those later once you have a few. Give the book a name and, if you like, a cover image, then add pages to it. When a book grows long, gather its pages into chapters.

Every book, chapter and page can have its own permissions. That's how you keep, say, the household finances in a book only the grown-ups can open, while everyone else sees the rest of the wiki.

Private or public#

BookStack is marked Public in the catalogue, so anyone who can reach your server gets the sign-in page (nobody sees any content without an account). If only your household uses it, make it private and use the LibrePortal VPN from outside. With a domain, it gets its own address at bookstack.<your domain>.

BookStack also has a setting to let visitors read without signing in, for a wiki you want the world to see. Only switch that on if the app is public on purpose.

Good to know#

  • Updates are automatic, with a backup taken first. BookStack follows its latest release. Its MariaDB database takes patches and minor updates within version 11 on its own, but a move to 12 waits for a person to decide, because a database major version can't be undone.
  • Its address is built into its links. BookStack creates every link from the address LibrePortal gives it, which is your domain once you have one set up with Traefik, and the server's own address and port before that. If you add a domain later, pages you wrote before may still link to images at the old address. To check: Check whether links in existing BookStack content follow an address change, and if not, whether LibrePortal offers a way to run BookStack's update-url command.
  • Reinstalling over an old install. BookStacks installed by older LibrePortal versions kept their database in a different layout. An install that would land on top of one stops with a message instead of quietly starting an empty wiki. Leave the existing one running; it keeps working as it is.
  • You can run several copies, one wiki per project, say; see More than one copy of an app.

Addresses and ports#

Bookstack has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.

What it isWho can reach itWith a domain
Web Interface Anyone bookstack.your-domain

Settings#

These are Bookstack's own settings on its Config tab. The settings every app shares, like backups, updates and where its data lives, are explained in App pages and settings.

SettingWhat it doesStarts as
Bookstack Admin Email Email used for the Bookstack admin account admin@example.com

In its config file#

A few more aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_BOOKSTACK_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_BOOKSTACK_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
true
Gravatar avatars
CFG_BOOKSTACK_GRAVATAR
Whether BookStack may look up people's avatars on gravatar.com, which sends a hash of their email
Choices: true, false
false

Tools#

Bookstack's Tools tab has 5 buttons for jobs you'd otherwise need a terminal for. Each one runs as a task, so you can watch it on the Tasks page and read what it did. More about Tools.

Reset User Password

Set a new password for an existing user. Leave blank to generate one.

Asks for: User email, New password (optional)
Create User Account

Add a new user. Tick "Make admin" for full rights.

Asks for: Email, Display name, Password (optional), Make admin
List Users

List every user and their role.

Delete User AccountCan't be undone

Permanently remove a user.

Asks for: User email
Set Admin Status

Promote or demote a user.

Asks for: User email, Make admin

Works with#

These are the other apps Bookstack knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • Email: Sends invitations, password resets and notifications through your mail server, from an account of its own. LibrePortal sets this up by itself when both are installed.
  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Prometheus: Collects metrics from the apps that can export them. works with every app
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

Worth knowing BookStack is a private wiki for your notes and documents. LibrePortal stops Gravatar lookups, but opening the diagram editor still loads diagrams.net in your browser.

What leaves this server#

  • Editing a diagram opens the editor from diagrams.net in your browser, which tells them you used it
  • Webhooks can call any host, which is upstream's default

What LibrePortal turns off#

  • Gravatar lookups for avatars (switchable in Config)

Licence: MIT. Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs these images: lscr.io/linuxserver/bookstack:26.09.2@sha256:f9de4213499f892570a93368aded13836c421b0f166f9d85be4d7b223071f7fd, mariadb:11.8.9@sha256:c4124d1afa875e47f2892edf26b482fa54f796e2f342d3717a04ca091a22a9bd.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: github.com/BookStackApp/BookStack

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps