
LazyLibrarian
LazyLibrarian is a SickBeard, CouchPotato, Headphones-like application for ebooks, audiobooks, and magazines.
Overview
LazyLibrarian uses a combination of Goodreads, Librarything, and optionally GoogleBooks as sources for author and book metadata. In QuickBox Pro, it is installed per user, runs as a systemd service, and is exposed through the nginx reverse proxy.
Key features
Per-user service
Runs as a user-scoped systemd unit (lazylibrarian@username).
Reverse-proxy path
Default access path is /username/lazylibrarian via nginx.
User-scoped config
Configuration lives at /home/username/.config/LazyLibrarian/config.ini.
Basic auth in nginx
The nginx template enables auth_basic with /etc/htpasswd.d/htpasswd.username.
When to use it
Use LazyLibrarian when
- Manage ebooks, audiobooks, and magazines with metadata lookups.
- Run LazyLibrarian as a per-user service with user-scoped settings.
You want to
- Install with
qb install lazylibrarian -u username. - Access it through the nginx path
/username/lazylibrarian.
Installation
Install from the Dashboard
Open App Dashboard → Package Management (/dashboard?mode=packages), find LazyLibrarian in the catalog (browse Media Management or search), and click Install. The dashboard streams the install log live and LazyLibrarian appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.
What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.
Install from the CLI (automation)
The CLI runs the same install and is suited to automation and scripting:
qb install lazylibrarian -u username
qb reinstall lazylibrarian -u username
qb update lazylibrarian -u username
qb remove lazylibrarian -u usernameFull flag reference: CLI Reference.
Access and authentication
URL / route
LazyLibrarian is proxied through nginx at the per-user path:
/username/lazylibrarianThe service listens on the user port set during install (default is 5299) and the proxy forwards to:
http://127.0.0.1:port/username/lazylibrarian/Credentials / tokens
If you generate an API key in LazyLibrarian, QuickBox reads it from:
/home/username/.config/LazyLibrarian/config.ini(look forapi_key =)
Security notes
The nginx template enables HTTP basic auth for LazyLibrarian using:
-
/etc/htpasswd.d/htpasswd.username
Configuration and files
LazyLibrarian stores user configuration and logs under the user home directory.
Additional system locations used by QuickBox:
/opt/username/LazyLibrarian(application files)/opt/username/lib/python/LazyLibrarian(Python venv)/etc/nginx/software/username.lazylibrarian.conf(path-based proxy)-
/etc/systemd/system/lazylibrarian@username.service
Common tasks
# Start or restart LazyLibrarian for a user
systemctl start lazylibrarian@username
systemctl restart lazylibrarian@username
# Stop LazyLibrarian for a user
systemctl stop lazylibrarian@usernameBest practices
Do
- Use the nginx path
/username/lazylibrarianso the app matches the configuredhttp_root. - Keep the user config at
/home/username/.config/LazyLibrarian/config.iniso dashboard tools can read the API key.
Don't
- Don’t enable both nginx auth and LazyLibrarian browser auth at the same time; the install notes warn they can conflict.
- Don’t change the nginx proxy path without updating
http_rootinconfig.ini.
Troubleshooting
The nginx proxy expects LazyLibrarian to run under /username/lazylibrarian. Confirm http_root
in /home/username/.config/LazyLibrarian/config.ini matches the proxy path.
QuickBox reads the API key from /home/username/.config/LazyLibrarian/config.ini using the api_key =
line. Generate the key in LazyLibrarian and re-check the file.
Verify the user service is running: systemctl status lazylibrarian@username. The unit starts
/opt/username/LazyLibrarian/LazyLibrarian.py with the per-user config and port.
Resources
QuickBox resources
LazyLibrarian resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.