====== LazyLibrarian: another books&audiobooks organizer ====== **NOTE:** i don't use LazyLibrarian anymore, this page might get outdated over time. [[https://lazylibrarian.gitlab.io/|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 [[gentoo:pip|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: [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 You can now become the //lazylibrarian// user and proceed with the installation using **git**: 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: #!/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: #!/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**: 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: * server: http://localhost:8787/readarr-books * 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.