User Tools

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.

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 settingsapps and add LazyLinrarian. From the popup window set:

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 configinterface 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

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information