Installation
Docker Compose (recommended)
The easiest way to run BookBoss is with Docker Compose. Pre-built compose files are provided
in the deploy/ directory for each
supported database backend.
Quick Start
-
Create directories for your library and bookdrop:
mkdir -p Library/Books Library/Bookdrop -
Download the compose file for your preferred database:
Backend File Notes PostgreSQL (recommended) docker-compose-postgres.yamlBest performance, recommended for production MySQL / MariaDB docker-compose-mysql.yamlAlternative relational backend SQLite docker-compose-sqlite.yamlSimplest setup, single container, no separate database # Example: PostgreSQL curl -O https://raw.githubusercontent.com/szinn/BookBoss/main/deploy/docker-compose-postgres.yaml -
Edit the compose file and change
BOOKBOSS__ENCRYPTION_SECRETto a random string. UpdateBOOKBOSS__FRONTEND__BASE_URLif you are accessing BookBoss from a different hostname or behind a reverse proxy. -
Start BookBoss:
docker compose -f docker-compose-postgres.yaml up -d -
Open http://localhost:8080 and create your admin account.
What’s Next
- Getting Started — first-run admin setup and orientation
- Database Configuration — details on each database backend
- Configuration Reference — all available environment variables
Requirements
BookBoss needs:
- A supported database — SQLite, PostgreSQL, MySQL, or MariaDB
- A filesystem directory for the book library (
BOOKBOSS__LIBRARY__LIBRARY_PATH) - A filesystem directory for the bookdrop inbox (
BOOKBOSS__IMPORT__BOOKDROP_PATH)
Build from Source
See Development Setup for instructions on building and running BookBoss from source.