This is an old revision of the document!
Prev to: LazyLibrarian: another books and audiobooks organizer
Next to: Torrenting
Bazarr: subtitles downloader & finder
Bazarr is a tool which can search for, download and organize subtitles for all your media. By interfacing with one or more subtitles providers, Bazarr will scan your media libraries and update the subtitles for the languages you want.
Installation
Bazarr must be installed manually since there is no Gentoo ebuild for it, but it's pretty easy with pip.
As usual, you need to create a specific user and set it's home folder to /data/daemons/bazarr and set media as it's main group:
> useradd -d /data/daemons/bazarr -g media -m bazarr
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 bazarr user by creating the file /data/daemons/bazarr/.config/pip/pip.conf with this content:
- pip.conf
[global] break-system-packages = true user = true
Now adapt the bazarr 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/bazarr/.bashrc:
umask 0002 </codeZ> You can now become the //bazarr// user and proceed with the installation: <code bash> > su - bazar > wget https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip > unzip bazarr.zip > rm bazarr.zip > python -m pip install -r requirements.txt
As last step, you need a startup script called /data/daemons/bazarr/bazarr.sh, so create it with the following content:
- lazylibrarian.sh
#!/bin/bash cd /data/daemons/bazarr python bazarr.py
You also want a script to automatically start it at boot, so create the file /etc/local.d/80-bazarr.start with the following content:
- bazarr.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.
That's done! Easy huh? Now let's start it:
> python bazarr.py
Configuration And now fire up your browser and go to http://192.168.0.1:6767/ to perform the Bazarr initialization. Here you need to set a ase URL of /bazarr so that we can properly apply the reverse proxy later on. Also, here you want to bind Bazar to 127.0.0.1 address, again for security considerations. This means that you will be able to access Bazarr only from http://127.0.0.1:6767/Bazarr at this time, from the server itself.
In the Bazarr configuration, go to the Sonarr and the Radarr sections: put in your *Arr's Base URL's (/sonarr and /radarr if you configured everything correctly before) and put also in the respective API keys, that you will find in the Sonarr and Radarr web GUI configuration pages.
It's time to setup some providers: you can do so from the Providers configuration page. You will need at least one.
You are almost done: stop Bazarr from running (just hit CTRL+C in the shell where you started it) and the last step is to ensure that Bazarr is started automatically upon reboot. Create a file called /data/daemons/bazarr/bazarr.sh with the following content:
#!/bin/bash cd /data(deamons/bazarr/bazarr python bazarr.py 2>&1 > bazarr.log
And now create the actual autostart script by pasting this into /etc/local.d/50-bazarr.start:
#!/bin/bash start-stop-daemon -b -m -p /var/run/bazarr.pid -n bazarr -u bazarr /data/daemons/bazarr/bazarr.sh
and ensure both are executable, so type, as root:
> chmod +x /etc/local.d/50-bazarr.start > chmod +x /data/daemons/bazarr/bazarr.sh > /etc/local.d/50-bazarr.start
Done! At this time, if you properly edited the bind address and the Base URL, Bazarr will be accessible only on the server with the local address given before.
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
I have installed it to match the same collection as Readarr, and i am currently using it over Readarr since the latter is not working, but i plan to switch back to Readarr as soon as it will be again fully operative.
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 it to your /etc/nginx/folders/main.conf:
include "folders/lazylibrarian.conf";
and restart nginx:
> /etc/init.d/nginx restart
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://192.168.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
Please note that you will not yet be able to use LazyLibrarian fully as you have not yet installed any downloader.
Now, head on to install the other services…
Next to: Torrenting
Prev to: LazyLibrarian: another books and audiobooks organizer