Skip to main content

Bookstack


---
version: "3.3"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack
    container_name: bookstack
    environment:
      - PUID=998
      - PGID=100
      - APP_URL=https://your.domain.com
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS=xxxxxx
      - DB_DATABASE=bookstackapp
    volumes:
      - /srv/path/Files/Bookstack/config:/config
    ports:
      - 6875:80
    restart: unless-stopped
    depends_on:
      - bookstack_db
  bookstack_db:
    image: lscr.io/linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - PUID=998
      - PGID=100
      - MYSQL_ROOT_PASSWORD=xxxxxx
      - TZ=Europe/Paris
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=xxxxxx
    volumes:
      - /srv/path/Files/Bookstack/db:/config
    restart: unless-stopped

Export All Books

This script will export all books in your preferred format (PDF, HTML or TXT).

Requirements

You will need php (~7.1+) installed on the machine you want to run this script on. 

apt install php

You will also need BookStack API credentials (TOKEN_ID & TOKEN_SECRET) at the ready.

Edit profile > create token > copy tokens

Running

# Downloading the script
curl https://raw.githubusercontent.com/BookStackApp/api-scripts/main/php-export-all-books/export-books.php > export-books.php

# Setup
# ALTERNATIVELY: Open the script and edit the variables at the top.
$apiUrl = getenv('BS_URL') ?: 'http://192.168.1.103:6875'; // http://bookstack.local/
$clientId = getenv('BS_TOKEN_ID') ?: 'token';
$clientSecret = getenv('BS_TOKEN_SECRET') ?: 'token';

# Running the script
php export-books.php <format> <output_dir>

Examples

# Export as plaintext to an existing "out" directory
php export-books.php plaintext ./out

# Export as pdf to the current directory
php export-books.php pdf ./

# Export as HTML to an existing "html" directory
php export-books.php html ./html

# Export as HTML to an existing "bookstackPDFexport" directory
php /home/scripts/bookstack/export-books.php html /home/bookstackPDFexport/