LazyLibrarian: another books&audiobooks organizer
NOTE: i don't use LazyLibrarian anymore, this page might get outdated over time.
LazyLibrarian is a tool to follow authors and grab metadata for all your digital reading needs. It accomplish the same goals as Readarr, but has a few advantages:
- It works much better with metadata providers
- It can manage books and audiobook for the same book in the same instance
In my view, it also has some drawbacks:
- Clumsy UI, doesn't feel very intuitive
- Diverge from the *Arr's looks&feel
- It's more complex to setup properly
Installation
LazyLibrarian must be installed manually since there is no Gentoo ebuild for it, but it's pretty easy with pip. More info on pip on Gentoo here.
As usual, you need to create a specific user and set it's home folder to /data/daemons/lazylibrarian and set media as it's main group:
useradd -d /data/daemons/lazylibrarian -g media -m lazylibrarian
Using pip directly is discouraged on Gentoo because it can severely break your system. To use pip on Gentoo you need to explicitly enable it for the lazylibrarian user by creating the file /data/daemons/lazylibrarian/.config/pip/pip.conf with this content:
- pip.conf
[global] break-system-packages = true user = true
Now adapt the lazylibrarian umnask so that any files moved by it will be accessible by the other tools (where needed). Add the following line at the end of /data/daemons/lazylibrarian/.bashrc:
umask 0002 </codeZ> You can now become the //lazylibrarian// user and proceed with the installation using **git**: <code bash> su - lazylibrarian git clone git clone https://gitlab.com/LazyLibrarian/LazyLibrarian.git
As last step, you need a startup script called /data/daemons/lazylibrarian/lazylibrarian.sh, so create it with the following content:
- lazylibrarian.sh
#!/bin/bash cd /data/daemons/lazylibrarian python LazyLibrarian.py -d
You also want a script to automatically start it at boot, so create the file /etc/local.d/80-lazylibrarian.start with the following content:
- lazylibrarian.start
#!/bin/bash start-stop-daemon -b -m -p /var/run/lazylibrarian.pid -n lazylibrarian -u lazylibrarian /data/daemons/lazylibrarian/lazylibrarian.sh
and make them both executable:
chmod +x /data/daemons/lazylibrarian/lazylibrarian.sh chmod +x /etc/local.d/80-lazylibrarian.start
That's it, LazyLibrarian is installed, but you will need to configure it before starting.
Reverse-Proxy configuration
Before you proceed, you should make LazyLibrarian accessible via the reverse-proxy, so that access, configuration and usage will be simplified from the beginning. Add this file to /etc/nginx/folders:
- lazylibrarian.conf
location /lazylibrarian/ { proxy_pass http://127.0.0.1:5299; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
Add this config to the reverse proxy and restart it.
Startup
There are some configuration that must be perform before actually starting the service.
Edit the file /data/daemons/lazylibrarian/config.ini to set the correct base-url and some more things. Please note that the following lines are only the ones you need to change from the default. Be careful in changind eny other line unless you know what you do:
[GENERAL] ... file_perm = 0o664 dir_perm = 0o775 ebook_dir = /data/Books audio_dir = /data/Audiobooks download_dir = /data/daemons/nzbget/dst/Books, /data/daemons/deluge/Downloads, /data/daemons/transmission/Downloads ... [WEBSERVER] http_proxy = True http_root = /lazylibrarian
A quick summary of the edits:
- file_perm / dir_perm: changed to ensure all downloaded&moved files are accessible from Readarr as well
- ebook_dir / audio_dir: match your media collection folders
- download_dir: must point to where your downloaders will put downloaded files (more on this later on, see the downloaders pages)
- http_proxy: tell LazyLibrarian you will use a reverse proxy
- http_root: the Base URL of the reverse proxy
Now, start LazyLibrarian:
/etc/local.d/80-lazylibrarian.start
All set! LazyLibrarial is running.
Prowlarr link
In order for LazyLibrarian to benefit from Prowlarr automatic indexers management you need to open http://10.0.0.1/prowlarr in your browser, go to settings → apps and add LazyLinrarian. From the popup window set:
- API Key: grab it from Readarr-books settings → general page and paste it here
Now add a second Readarr (you will need to specify a different name, like Readarr-audiobooks):
- LazyLibrarian server: http://localhost:5299
- API Key: generate it from config → interface page by enabling “Enable API” and “generate” button.
Then go to the Prowlarr indexers page and click on the synchronize all indexers icon.
Usage
Configuring LazyLibrarian is quite complex and messy, compared to the *Arr's at least. I will give you some pointers here.
- No pointers at the moment
Downloaders
After you add the downloaders, go back to LazyLibrarian config section and add the downloader there too. Note that you must also add the downloader default download folder to the download folders in the processing tab.