This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Readarr: the books and audiobooks organizer ====== [[https://readarr.com/|Readarr]] is part of the [[https://wiki.servarr.com/|Servarr]] suite: it allows to automatically organize, search and download books and audiobooks. Or at least, it should. The harsh reality at the time of writing this page is a bit less good that is seems. On the good side, Readarr feels and behaves like the other *Arr's, which would be a big plus, but on the bad side there are two main issues with Readarr: * Currently metadata searches are hit and miss. Upstream devs are aware and working on it, it's already improved quite a lot. * To supporto both e-books and audio-books (for the same books!) you need to install two instances of Readarr (like for Radarr and 4K / 1080p movies.. it's the same concept) I will show you how to run two instances here, so that you can have the same book both in e-book and audio.book formats at the same time. There is also another tool called [[services:obsolete:lazylibrarian|LazyLibrarian]], which i have also installed, but i don't like the UI and the overall feeling, but YMMV. ===== Installation ===== Readarr is easily installed and managed within Gentoo linux since there is an ebuild for it. All you need to do is unmask it (at the time of writing this it's are masked for AMD64 at least): <code bash> echo www-apps/readarr ~amd64 >> /etc/portage/package.accept_keywords/readarr </code> then install it: <code bash> emerge -v readarr </code> This step will create a dedicated //readarr// user but you will want to add it to the group //media//, that you have created before, so that the it will be able to access and manage your media collection: <code bash> usermod -a -G media readarr </code> Also, you want to move Readarr home folder under **/data/daemons/readarr** for consistency and to be protected on the RAID array, so: <code bash> usermod -m -d /data/daemons/readarr readarr </code> You will need only one installation of Readarr to run two instances of the service, but you need to duplicate the start script. Create the following file in **/etc/init.d**: <file txt readarr-audiobooks> pidfile="/run/readarr-audiobooks.pid" command="/opt/readarr/Readarr" command_user="readarr:readarr" command_args="-nobrowser -data=/deposito/Arr/readarr/.config/Readarr-Audiobooks" command_background=true </file> You can, if you want, rename the **/etc/init.d/readarr** script to something like **readarr-books** but that might not play well with future upgrades, so i suggest not to rename it. The "-nobrowser" option is required to have two instances running. ===== Reverse-Proxy configuration ===== Before you proceed, you should make Readarr accessible via the reverse-proxy, so that access, configuration and usage will be simplified from the beginning. Add these two files to **/etc/nginx/folders**: <file txt readarr-books.conf> # Readarr - Books location ^~ /readarr-books { proxy_pass http://127.0.0.1:8787; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } # Allow the API External Access via NGINX location ^~ /readarr-books/api { auth_basic off; proxy_pass http://127.0.0.1:8787; } </file> <file txt readarr-audiobooks.conf> # Readarr - audiolibri location ^~ /readarr-audiobooks { proxy_pass http://127.0.0.1:8788; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } # Allow the API External Access via NGINX location ^~ /readarr-audiobooks/api { auth_basic off; proxy_pass http://127.0.0.1:8788; } </file> Refer to [[selfhost:nginx|The Reverse Proxy concept]] for more info on how to enable these configs and reload the Reverse Proxy. ===== Startup ===== There are some configuration that must be perform before actually starting the two services. You need to briefly start and stop it to let it create the main configuration file, this is required because you need to generate a new API key: <code bash> /etc/init.d/readarr start /etc/init.d/readarr stop /etc/init.d/readarr-audiobooks start /etc/init.d/readarr-audiobooks stop </code> Now edit the newly created xml config files: * /data/daemons/readarr/.config/Readarr: for the books instance * /data/daemons/readarr/.config/Readarr-Audiobooks: for the audiobooks instance Only change the following lines in the Sonarr books file, do not edit anything else (unless you know what you are doing): <code> <UrlBase>readarr-books</UrlBase> <BindAddress>127.0.0.1</BindAddress> <AuthenticationMethod>Forms</AuthenticationMethod> <AuthenticationRequired>DisabledForLocalAddresses</AuthenticationRequired> </code> Only change the following lines in the Sonarr audiobooks file, do not edit anything else (unless you know what you are doing): <code> <UrlBase>readarr-audiobooks</UrlBase> <BindAddress>127.0.0.1</BindAddress> <AuthenticationMethod>Forms</AuthenticationMethod> <AuthenticationRequired>DisabledForLocalAddresses</AuthenticationRequired> <Port>8788</Port> </code> Please note in the audiobooks instance you ALSO need to edit the **Port** field to avoid collision with the books instance. Add both Readars to default runlevel, for autostart on reboot, and start it manually now: <code bash> rc-update add readarr default /etc/init.d/readarr start rc-update add readarr-audiobooks default /etc/init.d/readarr-audiobooks start </code> Readarr will now be accessible as **http://192.168.0.1/readarr-books** and **http://192.168.0.1/readarr-audiobooks**. All set! Both Readarr instances are running. ===== Prowlarr link ===== In order for Readarr to benefit from Prowlarr automatic indexers management you need to open **http://192.168.0.1/prowlarr** in your browser, go to //settings// -> //apps// and add Readarr (give a name like Readarr-books). From the popup window set: * Readarr-books 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): * Readarr-audiobooks server: http://localhost:8788/readarr-audiobooks * API Key: grab it from Readarr-audiobooks //settings// -> //general// page and paste it here Then go to the Prowlarr indexers page and click on the //synchronize all indexers// icon. ===== Usage ===== Before you can actually use Readarr you need to perform some initial setup in //settings// -> //media management//: * Add a new Root Folder. Use **/data/Media/Books** as root folder for books instance and **/data/Media/Audiobooks** for the audiobooks instance. Now, in each Readarr, enable "advanced settings" and: * Thick "Set permissions" to on * Set "chmod folder" to 775 (umask will be 0002) * set "chmod Group" to "media" * save and restart the daemon (from the user icon on top-right corner) you can fine tune and configure many other aspects of Readarr as you wish. A very common guide is [[https://trash-guides.info/|The TRaSH Guides]]. Please note that you will not yet be able to use Readarr fully as you have not yet installed any downloader.