Skip to content

zamnzim/Libreseerr

Repository files navigation

Libreseerr

Libreseerr

Libreseerr is a book request management application for Readarr, Readarr forks like Bookshelf, and LazyLibrarian. It provides a simple web interface for users to search for books and request ebook or audiobook downloads similar to how Seerr works for movies and TV shows with Sonarr/Radarr, but for books with Readarr, Readarr forks, or LazyLibrarian.

Libreseerr Discover Page

Features

  • Search for books by title, author, or ISBN
  • Request ebooks or audiobooks from separate Readarr, Bookshelf, or LazyLibrarian instances
  • Track download progress with real-time status updates
  • View quality profiles and root folders from your configured server
  • Manage and remove requests from a dedicated requests page
  • User authentication with session management
  • Admin-only user management (create, edit, delete users)

Libreseerr Requests Page

Compatibility

Installation

Docker Run

docker run -d \
  --name libreseerr \
  -p 5000:5000 \
  -v libreseerr-data:/app/data \
  --restart unless-stopped \
  ghcr.io/zamnzim/libreseerr:latest

Docker Compose

services:
  libreseerr:
    image: ghcr.io/zamnzim/libreseerr:latest
    ports:
      - "5000:5000"
    volumes:
      - libreseerr-data:/app/data
    restart: unless-stopped

volumes:
  libreseerr-data:

Start the stack with:

docker compose up -d

The application will be available at http://<your-host>:5000.

TrueNAS Scale

Libreseerr is available as a TrueNAS SCALE app from this repository.

  1. In the TrueNAS web UI, go to Apps > Settings > Add Catalog.
  2. Enter the repository URL: https://github.com/zamnzim/Libreseerr
  3. Set the Preferred Train to stable.
  4. Navigate to Available Applications, find Libreseerr, and click Install.
  5. Configure the app through the UI:
    • Libreseerr Configuration — image settings, secret key, and timezone
    • Storage — choose ixVolume (managed) or hostPath (custom directory) for persistent data
    • Networking — set the web port (default 50000)
  6. Click Install and wait for the app to deploy.

The app will be accessible at http://<your-truenas-ip>:50000.

Note: TrueNAS does not auto-pull new latest images and users need to update manually via Apps > Update.

Configuration

On first launch, a default admin account is created with the following credentials:

Username Password
admin admin

Change the default password immediately from the Users page after logging in.

Log in with these credentials to access the web UI. The Settings page (admin only) lets you configure your server instances:

  • Ebook Server - URL and API key for your Readarr, Bookshelf, or LazyLibrarian instance serving ebooks
  • Audiobook Server - URL and API key for your Readarr, Bookshelf, or LazyLibrarian instance serving audiobooks

Select the Server Software dropdown to choose between Readarr, Bookshelf, or LazyLibrarian for each server type.

Click Test Connection to verify each server is reachable, then Save.

Libreseerr Settings Page

Usage

  1. Log in with your admin credentials (default: admin / admin).
  2. Go to the Discover page and search for a book by title, author, or ISBN.
  3. Click a book card to open the download dialog.
  4. Select ebook or audiobook, choose a quality profile and root folder, then click Download.
  5. Switch to the Requests page to monitor progress.
  6. Click Refresh Status to poll your server for the latest download status.

Status indicators on the Requests page:

Status Meaning
Processing Book has been sent to the server but is not yet in the download queue
Downloading Book is actively downloading (progress bar shown)
Completed Download finished and file is available in the server
Error Download failed (error message shown)

User Management

On first launch, a default admin account is created:

  • Username: admin
  • Password: admin

Change the default password immediately after your first login.

Admins can manage users from the Users page:

  • Add User - Create new accounts with a username, password, and role (admin or user)
  • Edit User - Update a user's password or role
  • Delete User - Remove a user account (you cannot delete your own account)

Non-admin users can search for books and make requests but do not have access to the Settings or Users pages.

LDAP Users are also supported via Users > Advanced.

OIDC (OpenID Connect) sign-in is also supported via Users > Advanced. When enabled, the login page shows a "Sign in with [provider]" button alongside the username/password form. Configure with your IdP's issuer URL, client ID, and client secret. Optional toggles:

  • Auto-create users on first login: provision new users on successful OIDC sign-in (off by default)
  • Auto-redirect to OIDC on login page: skip the username/password form and go straight to the IdP. If your IdP later becomes unreachable, append ?bypass=1 to the login URL (/login?bypass=1) to surface the local form again without editing config on disk.

The redirect URI to register at your IdP is https://<your-libreseerr-host>/api/auth/oidc/callback.

Libreseerr Users Page

Environment Variables

Variable Description Default
PYTHONUNBUFFERED Ensures Python logs appear immediately in container output 1
SECRET_KEY Flask session secret key. Set this to a stable value in production Auto-generated on first run

All application configuration (server URLs, API keys, and server software type) is managed through the web UI and stored in /app/data/config.json.

Data Persistence

Application data is stored in /app/data/ and includes:

  • config.json - Server configuration (Readarr, Bookshelf, or LazyLibrarian)
  • requests.json - Request history
  • users.json - User accounts (passwords are hashed)
  • secret_key - Auto-generated session signing key (only created if SECRET_KEY is not set via environment)

Mount a volume at /app/data to persist this data across container restarts.

Development

Requirements

  • Python 3.12+
  • Flask, Requests, Gunicorn (see requirements.txt)

Running Locally

pip install -r requirements.txt
python app.py

The development server starts on http://0.0.0.0:5000 with debug mode enabled.

License

See LICENSE for details.

About

Libreseerr is a book request management application for Readarr and LazyLibrarian. It provides a simple web interface for users to search for books and request ebook or audiobook downloads similar to how Seerr works for movies and TV shows with Sonarr/Radarr, but for books with Readarr, Readarr forks, or LazyLibrarian

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors