Install LazyLibrarian Raspberry Pi for Usenet Torrent eBooks

raspberry-pi-lazylibrarianLazyLibrarian is your paperless media manager for your home media server. It will manage your entire book collection and create a wishlist of items. LazyLibrarian helps you search for missing items from usenet (NZBGet and Sabnzbd – only Sabnzbd may be working currently) or Torrents (Transmission and uTorrent) and nicely organizes them for you. You can then serve them up with Ubooquity and access them remotely using dynamic DNS.

Update December 2015 to new repository

If you are trying to figure out which hardware would work best for you, consider reading the Pi benchmarks.

Usenet Provider
Backbone
Retention
Speed
Connections
VPN
Monthly
Annual
UsenetServer
UsenetServer
3199
Unlimited
30
Yes
$10
$95.40
Newshosting
Newshosting
3199
Unlimited
30
Yes
$10
$99
Frugal
Frugal
3000
Unlimited
20
No
$4.16
$50
Usenetlink
Cloudgate
2000
100 Mbit
30
No
$15
$140

Install LazyLibrarian Raspberry Pi with Raspbian

Install LazyLibrarian dependencies

sudo apt-get install python python-pip git -y
pip install cherrypy

Clone the latest LazyLibrarian from git, this is a fork of the original which has some fixes

sudo git clone https://github.com/philborman/LazyLibrarian /opt/lazylibrarian

Change the ownership of the LazyLibrarian installation folder to the pi user and group

sudo chown -R pi:pi /opt/lazylibrarian

Test LazyLibrarian will run

python /opt/lazylibrarian/LazyLibrarian.py

Try and access LazyLibrarian at http://ip.address:5299

Use Ctrl+C or Ctrl+Z in the Terminal window to end the process

Autostart LazyLibrarian at Boot

Copy the LazyLibrarian initd.d script configuration file

sudo cp /opt/lazylibrarian/init/ubuntu.default /etc/default/lazylibrarian

Open the configuration file

sudo nano /etc/default/lazylibrarian

Adjust these values, enable the daemon and change run_as to avoid permission issues.

You can also change the LazyLibrarian port number in here as well, leaving it empty will just use the default 5299

# [required] set path where lazylibrarian is installed:
APP_PATH=/opt/lazylibrarian

# [optional] change to 1 to enable daemon
ENABLE_DAEMON=1

# [required] user or uid of account to run the program as:
RUN_AS=pi

# [optional] change to 1 to enable updating from webinterface
# this changes ownership of /opt/lazylibrarian to user set @ RUN_AS
WEB_UPDATE=1

PORT=5299
PID_FILE=/opt/lazylibrarian/lazylibrarian.pid

Ctrl+X, Y and Enter to save

Copy the LazyLibrarian init script

sudo cp /opt/lazylibrarian/init/ubuntu.initd /etc/init.d/lazylibrarian

Make the LazyLibrarian init.d script executable

sudo chmod +x /etc/init.d/lazylibrarian

Activate the LazyLibrarian

sudo update-rc.d lazylibrarian defaults

If you see this error then follow these additional steps

update-rc.d: using dependency based boot sequencing
insserv: script lazylibrarian: service application already provided!
insserv: exiting now!

Open the LazyLibrarian script to modify it

sudo nano /etc/init.d/lazylibrarian

Find and change this section to match below

### BEGIN INIT INFO
# Provides:          LazyLibrarian app service

Ctrl+X, Y and Enter to Save

sudo update-rc.d lazylibrarian defaults

Now LazyLibrarian is installed on the Raspberry Pi on running on its default port 5299. A configuration guide will follow.