Installation SABnzbd

Aus Laub-Home Wiki

SABnzbd is an Open Source Binary Newsreader written in Python.

It's totally free, incredibly easy to use, and works practically everywhere.

SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.

Installationsumgebung

System

  • Ubuntu 64bit VM
  • 20 GB HDD
  • 2GB RAM
  • 2 CPU x 2 Cores


OS

  • Ubuntu Server 12.04 LTS 64bit (Download)
  • Update-Stand: 20.01.2013
> aptitude update && aptitude safe-upgrade
[..]
67 packages upgraded, 3 newly installed, 2 to remove and 0 not upgraded.
Need to get 111 MB of archives. After unpacking 150 MB will be used.


Installation SABnzbd

Download (Latest Version: 0.7.9, released on 06-JAN-2013)

offizielles Repository (ätere Versionen)

In der Ubuntu Paketverwaltung findet sich zwar das SABnzbd Paket, jedoch in einer älteren Version:

> aptitude search sabnzbd
p   sabnzbdplus                - web-based binary newsgrabber with nzb support
p   sabnzbdplus-theme-classic  - classic interface templates for the SABnzbd+ binary newsgrabber
p   sabnzbdplus-theme-iphone   - transitional package for migration to sabnzbdplus-theme-mobile
p   sabnzbdplus-theme-mobile   - mobile interface templates for the SABnzbd+ binary newsgrabber
p   sabnzbdplus-theme-plush    - plush interface templates for the SABnzbd+ binary newsgrabber
p   sabnzbdplus-theme-smpl     - smpl interface templates for the SABnzbd+ binary newsgrabber

> aptitude show sabnzbdplus
Package: sabnzbdplus
State: not installed
Version: 0.6.15-1
Priority: optional
Section: multiverse/net
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Uncompressed Size: 2,679 k

Diese Version lässt sich einfach über die Paketverwaltung installieren:

aptitude install sabnzbdplus


inoffizielles JCFP PPA Repository (aktuellere Versionen)

Für den Zugriff auf aktuellere Versionen, wird von JCFP ein eigenes Ubuntu Paket in einem inoffiziellen Repository verwaltet - der Zugriff ist wie folgt möglich:

> apt-get install python-software-properties
> add-apt-repository ppa:jcfp/ppa

You are about to add the following PPA to your system:
 This PPA contains packages for the latest and greatest version of the SABnzbd+ binary newsgrabber, allowing for easy installation, dependency tracking, and automatic upgrading of the program.

Everything works just like any other repository; nevertheless, for those who need them, newbie-proof instructions can be found at http://forums.sabnzbd.org/index.php?topic=387.0
 More info: https://launchpad.net/~jcfp/+archive/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmphevcc9/secring.gpg` created
gpg: keyring `/tmp/tmphevcc9/pubring.gpg` created
gpg: requesting key 4BB9F05F from hkp server keyserver.ubuntu.com
gpg: /tmp/tmphevcc9/trustdb.gpg: trustdb created
gpg: key 4BB9F05F: public key `Launchpad PPA for jcfp` imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

Nun noch die Paketinfos aktualisieren und die neue SABnzbd Version wird angezeigt und kann installiert werden:

> aptitude update
> aptitude show sabnzbdplus
Package: sabnzbdplus
State: not installed
Version: 0.7.9-0ubuntu1~jcfp1~precise
Priority: optional
Section: net
Maintainer: JCF Ploemen (jcfp) <linux@jcf.pm>
Architecture: all
Uncompressed Size: 3,432 k

> aptitude install sabnzbdplus
The following NEW packages will be installed:
  javascript-common{a} libjs-excanvas{a} libjs-mochikit{a} libtidy-0.99-0{a} par2{a} python-cheetah{a} python-configobj{a} python-feedparser{a} python-libxml2{a}
  python-support{a} python-utidylib{a} python-yenc{a} sabnzbdplus sabnzbdplus-theme-classic{a} sabnzbdplus-theme-plush{a} sabnzbdplus-theme-smpl{a} unrar{a} unzip{a}
  wwwconfig-common{a}
0 packages upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,166 kB of archives. After unpacking 12.3 MB will be used.


Konfiguration

System Benutzer anlegen und Vorbereitung

SABnzbd muss nicht unbedingt als root gestartet werden, daher empfiehlt es sich einen eigenen Benutzer anzulegen - in diesem Beispiel wird der System Benutzer "sabnzbd" lauten und wird wie folgt angelegt:

> adduser sabnzbd
Adding user `sabnzbd` ...
Adding new group `sabnzbd` (1001) ...
Adding new user `sabnzbd` (1001) with group `sabnzbd` ...

Falls nicht unbedingt benötigt, sollte es dem neuen Benutzer nicht möglich sein via SSH zu verbinden; hier muss folgende Zeile in der Datei /etc/ssh/sshd_config hinzugefügt und der SSH-Dienst neu gestartet werden:

DenyUsers sabnzbd

Nun kann auf den neuen Benutzer gewechselt und die für die weitere Konfiguration benötigen Verzeichnisse/ Dateien vorbereitet werden:

> su - sabnzbd
> touch .sabnzbd/archive.pwd


SABnzbd als Dienst konfigueren

Als root-Benutzer wird nun der Dienst konfiguriert; damit SABnzbd als Dienst unter dem soeben angelegten Benutzer und nicht nur auf localhost gestartet wird, muss die Datei /etc/default/sabnzbdplus angepasst werden:

  • USER: der System Benutzer unter welchem SABnzbd gestartet werden soll (hier "sabnzbd")
  • HOST: Host/ IP auf welchem der Dienst laufen soll ("0.0.0.0" für alle)
  • PORT: Port auf dem der Dienst laufen soll
# [required] user or uid of account to run the program as:
USER=sabnzbd

# [optional] hostname/ip and port number to listen on:
HOST=0.0.0.0
PORT=8080

Anmerkung: Sofern 0.0.0.0 konfiguriert ist, läuft der Dienst auf allen Netzwerk-Interfaces. Sollte der Dienst nur auf das LAN antworten, muss hier nur die lokale IP konfiguriert werden (z.B. 192.168.0.100).

Nun den SABnzbd Dienst starten:

> service sabnzbdplus start
* Starting SABnzbd+ binary newsgrabber                           [ OK ]

Beim ersten Start wird im Benutzerverzeichnis die benötigte Dateistruktur, die Konfigurationsdateien sowie der entsprechende Dienst (* runlevel 2-5) angelegt und gestartet:

> ll /home/sabnzbd/.sabnzbd/
total 36
drwxr-xr-x 7 sabnzbd sabnzbd 4096 Jan 20 13:18 ./
drwxr-xr-x 4 sabnzbd sabnzbd 4096 Jan 20 13:09 ../
drwxr-xr-x 2 sabnzbd sabnzbd 4096 Jan 20 12:49 admin/
drwxr-xr-x 2 sabnzbd sabnzbd 4096 Jan 20 12:11 logs/
-rw------- 1 sabnzbd sabnzbd 2636 Jan 20 13:18 sabnzbd.ini
-rw------- 1 sabnzbd sabnzbd 2611 Jan 20 13:17 sabnzbd.ini.bak

> ps aux|grep sabnzbd
sabnzbd   2165  0.2  1.3 1570884 28568 ?       Sl   12:11   0:00 /usr/bin/python -OO /usr/bin/sabnzbdplus --daemon --server 0.0.0.0:8080


SABnzbd Browser Quick-Start Wizard

Nachdem die Grundkonfiguration des Dienstes abgeschlossen ist, kann nun über den Browser auf Port 8080 der Quick-Start Wizard aufgerufen werden:

http://<HOSTNAME_or_IP>:8080/wizard/
1. Language: English
2. Server Details: entsprechenden Usenet Server eintragen (kann später angepasst werden)
3. Zugriff
  • Access: "I want SABnzbd to be viewable by any pc on my network" auswählen
  • "Password protect access to SABnzbd (recommended)" auswählen und Benutzer + Passwort vergeben
  • "enable HTTPS access to SABnzbd" auswählen
  • Misc: "Launch my internet browser with the sabnzbd page when the program starts" abwählen
4. Usenet Indexer Zugangsdaten eingeben (optional)
5. Automatischer SABnzbd Restart erfolgt nun - erreichbar unter:
  • HTTPS (Zertifikatsmeldung aufgrund unbekanntem Zertifikat bzw. CA): https://<HOSTNAME_or_IP>:9090/
  • HTTP: http://<HOSTNAME_or_IP>:8080/


SABnzbd Konfiguration

Nachdem Login sollte man sich nun zuerst der abschliessenden Konfiguration von SAbnzbd annehmen; diese ist über das Navigationsmenü oben via config erreichbar und in diverse Kategorien unterteilt.
Von den Standards abweichende Werte sind hervorgehoben:

  • General
  • SABnzbd Web Server
  • SABnzbd Host: 0.0.0.0
  • SABnzbd Port: 8080
  • SABnzbd Username: sabnzbd
  • SABnzbd Password: <BenutzerPasswort>
  • Web Interface: smpl - white
  • Secondary Web Interface: None
  • Language: English
  • Disable API-key: deaktviert
  • API Key: <generierter API Key>
  • NZB Key: <generierter NZB Key>
  • HTTPS Support
Standardmäßig wird ein selbst-signiertes Zertifikat verwendet was zu einer Browsermeldung führt. Dieses kann jedoch bei Bedarf auch ausgetauscht werden und ist mit den Standardwerten im Verzeichnis ~/.sabnzbd/admin/ abgelegt.
  • Enable HTTPS: aktiviert
  • HTTPS Port: 9090
  • HTTPS Certificate: server.cert
  • HTTPS Key: server.key
  • HTTPS Chain Certifcates:
  • Tuning
  • Download Speed Limit: 0
  • Article Cache Limit: 512M
  • Cleanup List:


  • Folders
Alle Ordnerangaben sind relativ zum Basisverzeichnis (hier im Beispiel /home/sabnzbd/); nicht vorhandene Ordner werden angelegt
  • User Folders
  • Temporary Download Folder: .sabnzbd/Downloads/incomplete
  • Minimum Free Space for Temporary Download Folder: 1G
  • Completed Download Folder: .sabnzbd/Downloads/complete
  • Permissions for completed downloads
  • Watched Folder: .sabnzbd/Downloads/nzbfiles
  • Watched Folder Scan Speed: 10
  • Post-Processing Scripts Folder: .sabnzbd/Scripts
  • Email Templates Folder: .sabnzbd/Templates
  • Password file: .sabnzbd/archive.pwd
  • System Folders
  • Administrative Folder: admin
  • Log Folder: logs
  • .nzb Backup Folder:


  • Switches
  • General
  • Check for New Release: aktiviert
  • Launch Browser on Startup: deaktiviert
  • Use 12 hour clock (AM/PM): deaktiviert
  • Server
  • Maximum retries: 3
  • Only for optional servers: deaktiviert
  • Disconnect on Empty Queue: aktiviert
  • Send Group: deaktiviert
  • SSL type: V23
  • Queue
  • Abort jobs that cannot be completed: deaktiviert
  • Check before download: deaktiviert
  • Detect Duplicate Downloads: Discard
  • Pause Downloading During Post-Processing: deaktiviert
  • Action when encrypted RAR is downloaded: Off
  • Only Get Articles for Top of Queue: deaktiviert
  • Sort by Age: deaktiviert
  • Pre-queue user script: None
  • Post processing
  • Ignore Samples: Do not download
  • Enable Quick Check: aktiviert
  • Enable Unrar: aktiviert
  • Enable Unzip: aktiviert
  • Enable Filejoin: aktiviert
  • Enable TS Joining: aktiviert
  • Enable Par Cleanup: aktiviert
  • Fail on yEnc CRC Errors: aktiviert
  • Post-Process Only Verified Jobs: aktiviert
  • Enable SFV-based checks: aktiviert
  • Check result of unpacking: aktiviert
  • Extra PAR2 Parameters:
  • Nice Parameters:
  • IONice Parameters:
  • Naming
  • Enable folder rename: aktiviert
  • Replace Spaces in Foldername: aktiviert
  • Replace dots in Foldername: deaktiviert
  • Replace Illegal Characters in Folder Names: aktiviert
  • Quota
  • Size:
  • Quota period: Month
  • Reset day:
  • Auto resume: aktiviert


  • Servers
Der verwendete Usenet Server wird hier konfiguriert; es können mehrere Server angegeben werden.


  • Scheduling
Falls gewünscht, kann SABnzbd auf ein bestimmtes Zeitfenster zur Nutzung beschränkt werden.


  • Notifications
Hier kann konfiguriert werden, ob SABnzbd bei Fehlern oder abgeschlossenen Downloads eine Mail-Benachrichtigung verschicken soll - auch der zu verwendete SMTP Account wird hier angegeben.
  • Enable Growl: deaktiviert


  • Categories
Zur besseren Übersicht und detailierten Einstellungsmöglichkeiten werden folgende zusätzliche Kategorien angelegt (die entsprechenden Unterordner werden automatisch angelegt):
Category Priority Processing Script Folder/Path
tv Default Default Default tv
movie Default Default Default movie
music Default Default Default music


  • Sorting
  • Series Sorting
  • Enable TV Sorting: aktiviert
  • Affected Categories: tv
  • Sort String: %s.n/Season_%0s/%s.n-S%0sE%0e-%e.n.%ext
Example: /home/sabnzbd/.sabnzbd/Downloads/complete/Show.Name/Season_01/Show.Name-S01E05-Episode.Name.avi
  • Generic Sorting
  • Enable Movie Sorting: aktiviert
  • Affected Categories: movie
  • Sort String: %.title_(%y)/%.title_(%y).%ext
  • Multi-part label: _CD%1


  • Special
Hier können diverse Konfigurationswerte angepasst werden, allerdings sollte man hier genau wissen um was es geht! Mehr im SABnzbd Wiki


  • RSS
Es ist möglich über RSS Feeds bereitgestellte NZBs automatisch zu laden; konfiguriert werden diese hier.