# BookStack • [BookStack](https://www.bookstackapp.com/) is a simple platform for storing and sharing information. Search through your library and build links between your resources. # Overview [![Screen Shot 2025-03-09 at 20.32.07.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-32-07.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-32-07.png) [BookStack](https://www.bookstackapp.com/) is a simple platform for storing and sharing information. Search through your library and build links between your resources.

Tryout an [BookStack demo](https://demo.bookstackapp.com/).

- Intuitive design that makes it easy to quickly create a knowledge sharing platform. - Built-in diagram editor makes it simple to build in-depth documentation. - Secure accounts with two-factor authentication or use your own like [Authelia](https://hub.subspace.services/books/authelia "Authelia"). # Media ## Screenshots

Bookstack v25.02

[![Screen Shot 2025-03-09 at 20.31.59.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-31-59.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-31-59.png)[![Screen Shot 2025-03-09 at 20.32.07.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-32-07.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-32-07.png)[![Screen Shot 2025-03-09 at 20.31.49.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-31-49.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-31-49.png)
[![Screen Shot 2025-03-09 at 20.32.15.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-32-15.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-32-15.png)[![Screen Shot 2025-03-09 at 20.33.31.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-33-31.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-33-31.png)[![Screen Shot 2025-03-09 at 20.32.29.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-32-29.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-32-29.png)
[![Screen Shot 2025-03-09 at 20.33.48.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-33-48.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-33-48.png)
# Setup & Configuration We need to install the service through Portainer and configure any necessary settings. # Preparation There are some things we need to do in preparation to install this service. ## Volumes
Persistent Data This is where the service will store its own application data and ensures we can quickly update the service image.

Ensure your user has permissions to access the folder.

## Environment
TZ This is the current time zone formatted using the [tz database.](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

*For example:* America/Vancouver

PUID This is the numeric ID of the user account on Debian. If you are unsure, open a terminal and run: ```bash id -u ```
PGID This is the numeric ID of the user account's group on Debian. If you are unsure, open a terminal and run: ```bash id -g ```
DB\_USER This is the username to be used for logging into the database.

*For example: bookstack*\_admin

APP\_URL This is the URL you will be accessing the service through. This can be the local address or the domain name.
ALLOWED\_IFRAME\_SOURCES This configures which websites can be embedded with your BookStack.

*Recommended:* "https://\*.draw.io https://\*.youtube.com https://\*.youtube-nocookie.com https://\*.vimeo.com"

### Passwords

Keep these securely stored in a password manager, such as [VaultWarden](https://hub.subspace.services/books/vaultwarden "VaultWarden").

DB\_PASS This is the password that will be used for root access to the database.

It is important to use secure, randomly generated password.

You can use a random alphanumeric string from a password manager, or open the terminal and run the command: ``` tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' # Installation The service can be installed through the Portainer web interface.

Learn about [creating a new stack](https://hub.subspace.services/books/portainer/page/creating-a-new-stack "Creating a New Stack").

## Docker Compose Use the following code to install the service: ```yaml --- services: bookstack: image: lscr.io/linuxserver/bookstack container_name: bookstack environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - APP_URL=${APP_URL} - DB_HOST=${DB_HOST} - DB_PORT=3306 - DB_USER=${DB_USER} - DB_PASS=${DB_PASS} - DB_DATABASE=${DB_NAME} - ALLOWED_IFRAME_SOURCES=${ALLOWED_IFRAME_SOURCES} - ALLOWED_IFRAME_HOSTS=${ALLOWED_IFRAME_HOSTS} volumes: - /srv/bookstack/data:/config ports: - 6877:80 restart: unless-stopped depends_on: - bookstack-db bookstack-db: image: lscr.io/linuxserver/mariadb container_name: bookstack-db environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - MYSQL_ROOT_PASSWORD=${DB_PASS} - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASS} volumes: - /srv/bookstack/db:/config restart: unless-stopped ``` ## Environment Use the following environment to configure the service using the values prepared earlier: ```bash TZ= PUID= PGID= APP_URL=bookstack.example.com DB_HOST=bookstack-db DB_USER=bookstack_admin DB_PASS= DB_NAME=bookstackapp ALLOWED_IFRAME_SOURCES="https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com" ``` # Updating

Re-Deploy the Stack

This service has been optimized for running in Docker. This allows you to [re-deploy the stack through Portainer](https://hub.subspace.services/books/portainer/page/updating-a-stack "Updating a Stack") to download the latest updates. # User Manual # Development

This software is released under the [MIT license](https://opensource.org/license/mit).

You can learn more about how to contribute to BookStack through their [blog](https://www.bookstackapp.com/blog/contributing-to-open-source/). The development team also accepts [donations](https://www.bookstackapp.com/donate/). # Resources ## Official - [Official Documentation](https://www.bookstackapp.com/docs) - [Official Discord](https://discord.gg/ztkBqR2) - [Official GitHub Repository](https://github.com/BookStackApp/BookStack) - [Official Website](https://www.bookstackapp.com/) - [Wikipedia Entry](https://en.m.wikipedia.org/wiki/BookStack) - [Installation Guide](https://www.bookstackapp.com/docs/admin/installation) - [Frequently Asked Questions](https://www.bookstackapp.com/about/project-faq/) - [General Troubleshooting](https://www.bookstackapp.com/docs/admin/debugging/)