Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Has Anyone Successfully Installed NZBDrone?

Featured Replies

  • Replies 106
  • Views 20.8k
  • Created
  • Last Reply

I am currently running nzbdrone. I grabbed the mono 2.10.8 Slackware package and installed it.

Would be great if someone made a plg for nzbdrone.

 

Sent from my SM-N9005 using Tapatalk

 

 

I am currently running nzbdrone. I grabbed the mono 2.10.8 Slackware package and installed it.

could you maybe share the steps you took to get it installed?

 

Sent from my SM-N9005 using Tapatalk

 

 

  • 2 weeks later...

is there a package for slackware or does it need to be compiled from source?

I wonder, if one day we have an unRAID build with centOS as its base, will it be as easy as

 

yum install mono

 

yum install nzbdrone

 

to get it up and running? Sounds to good to be true  :P

  • 2 weeks later...

is there a package for slackware or does it need to be compiled from source?

 

I know this is a bit old, but I'm new to unraid and just saw this post. You don't need nzbdrone's source, they have a deb package (and only a deb package). This isn't a newb friendly tutorial, so I'm going to assume you know a bit about Linux/slack.

 

- Install mono. "wget http://slackware.org.uk/slacky/slackware-13.37/development/mono/2.10.8.1/mono-2.10.8.1-i486-1sl.txz" Then "installpkg mono-2.10.8.1-i486-1sl.txz"

- Download the nzbdrone .deb, see their web site. Extract the .deb package with 7zip or ar or whatever and you'll end up with data.tar. Extract that. Everything you need is in "opt/NzbDrone". mv the NzbDrone folder to wherever you're storing your apps/plugins (/mnt/cache?).

- Head to that folder that contains NzbDrone.exe and run "mono NzbDrone.exe".

 

It's fairly simple to get it going, as it is a .NET app, it has no other dependencies other than having mono.

 

The only thing I need to do is maybe modify a .rc so it starts and stops with the array (just like sab or couch). I also haven't got around to starting it at boot, but I think adding it to /boot/config/go would do the trick.

 

Once I have some free time I'm going to attempt to write a plugin, but being new to unraid, I'd have to butcher someones .plg for an existing plugin and see if I can get it working, until then, this should get you going.

 

Also, keep in mind that if you're running it this way, using /mnt/cache, chances are stopping the array will fail (or on boot, if you have it in go, it will try to start before /mnt/cache is even mounted), so you'll have to stop nzbdrone first... Like I said, it isn't a pretty solution, but it will get it running. This post might help http://lime-technology.com/forum/index.php?topic=26201.0

OK i got this sort of for us non windows folk.

 

GOTO here and get the latest release

http://update.nzbdrone.com/repos/apt/debian/pool/main/n/nzbdrone/

-Extract the .deb package with 7zip or ar or whatever and you'll end up with data.tar. Extract that. Everything you need is in "opt/NzbDrone". Move the NzbDrone folder to /mnt/cache/.NzbDrone  (hint to make a hidden folder in windows name it .NzbDrone.  ).

 

goto putty and log into your server.

cd /

cd boot/packages

wget http://slackware.org.uk/slacky/slackware-13.37/development/mono/2.10.8.1/mono-2.10.8.1-i486-1sl.txz

installpkg mono-2.10.8.1-i486-1sl.txz

 

cd /

cd mnt/cache/.NzbDrone

mono NzbDrone.exe

 

 

That will get you up.  Now goto http://tower:8989/ to play with nzbdrone.

 

it will complain.

 

close putty session.  This will kill nzbdrone

 

open putty session

 

cd /

cd mnt/cache/.NzbDrone

mono NzbDrone.exe

 

 

Now nzbdrone will work till your server loses power.

 

Problems:

if you close the telnet session, nzbdrone dies

nzbdrone stores everything on /root/.config/NzbDrone        So it throws errors, and even if it could make that folder, it would be blown away when the system shuts down.  I havent been able to get it working past this point.

 

Please help...

 

 

 

 

 

 

 

 

 

Thanks for cleaning that up Nightanole.

 

The problem with the AppData folder is that it is hardcoded. We could modify the .NET code and change it, but then we'd be forking which would just be a pain.

 

There is a feature request that has been accepted by Markus to allow for the changing of the AppData folder, so we're probably better off waiting until that change is implemented. Once that feature is added, then it should be no problem to create a plugin and run nzbdrone. I absolutely hate sickbeard, but looks like I'm stuck using it until they fix this.

Problems:

if you close the telnet session, nzbdrone dies

nzbdrone stores everything on /root/.config/NzbDrone        So it throws errors, and even if it could make that folder, it would be blown away when the system shuts down.  I havent been able to get it working past this point.

 

Please help...

 

Try this:

 

 mono NzbDrone executable & 

 

that should keep it running after you close the telnet session.

 

additionally a symlink might be a viable option to keep the settings in tact. what kind of errors is it giving you?

 

It doesnt throw any errors if  /root/.config/NzbDrone exists.  Otherwise it throws api call errors because it cant find any of the config files.  it does make the  /root/.config/NzbDrone and all files, so i dont know why it needs to be exited and reloaded to get it to work error free.

 

 

As for the shutdown problem:

symlink: ln -s /mnt/cache/NzbDrone /root/.config/NzbDrone

 

 

So between that and:

mono NzbDrone executable &

 

We might have a working solution.  its not turn key, but looks like it can be popped into the go file with a few delays inplace and work fine.

 

it shouldn't be too hard to throw into a plugin now.

My non programming non linux brain is gonna get this  :P

 

ok heres what i got:

got the NzbDrone files in:

/mnt/cache/.NzbDrone  (where i also store sabnzbd and sickbeard)

Got Mono in:

/boot/packages  (aka the flash drive)

 

I have a soft link of:

ln -s /mnt/cache/.NzbDrone/AppData /root/.config/NzbDrone

 

This fakes out Nzbdrone and puts all the files in /mnt/cache/.NzbDrone/AppData instead of the default location on the ram share.

 

I still cant get mono to run NzbDrone after the telnet session ends.

 

"mono NzbDrone executable &" does not work since its an exe(i think).  "mono NzbDrone.exe &" does something, but NzbDrone isnt running, and typing just mono has NzbDrone.exe labled as stopped.

 

I can keep mono NzbDrone.exe running by running telnet via SCREEN. 

 

 

So you could say im working.  If someone can figure out how to get NzbDrone.exe to stay running after the telnet session ends i can probably make a script.

 

 

 

My non programming non linux brain is gonna get this  :P

 

ok heres what i got:

got the NzbDrone files in:

/mnt/cache/.NzbDrone  (where i also store sabnzbd and sickbeard)

Got Mono in:

/boot/packages  (aka the flash drive)

 

I have a soft link of:

ln -s /mnt/cache/.NzbDrone/AppData /root/.config/NzbDrone

 

This fakes out Nzbdrone and puts all the files in /mnt/cache/.NzbDrone/AppData instead of the default location on the ram share.

 

I still cant get mono to run NzbDrone after the telnet session ends.

 

"mono NzbDrone executable &" does not work since its an exe(i think).  "mono NzbDrone.exe &" does something, but NzbDrone isnt running, and typing just mono has NzbDrone.exe labled as stopped.

 

I can keep mono NzbDrone.exe running by running telnet via SCREEN. 

 

 

So you could say im working. If someone can figure out how to get NzbDrone.exe to stay running after the telnet session ends i can probably make a script.

 

What about running it inside a screen session?  (I totally don't have a linux/programming background, so please let me know why this suggestion is stupid)

The screen session works, but its kinda wrong. 

 

Cold boot

start putty

login

screen

start nzbdrone

 

move on with life.

 

I was trying to figure out a script with the go file that would automate this.  I can have the go script do the soft link and install mono, but i dont know how to get the go script to run mono nzbdrone.exe

 

I dont think i want the mono nzbdrone.exe running in the main terminal right?

How about a simple rc script in /etc/rc.d to start/stop mono? Also use mono-service instead of just mono. That'll keep it running. Then all we'd have to do is whip up a rc script (start, stop, restart), and away we go.

 

Good thinking with the symlink too. I didn't think of that.

 

mono-service /mnt/cache/apps/NzbDrone/NzbDrone.exe

 

The screen session works, but its kinda wrong. 

 

Cold boot

start putty

login

screen

start nzbdrone

 

move on with life.

 

I was trying to figure out a script with the go file that would automate this.  I can have the go script do the soft link and install mono, but i dont know how to get the go script to run mono nzbdrone.exe

 

I dont think i want the mono nzbdrone.exe running in the main terminal right?

I took Influencer's couchpotato script and butchered it. It /MIGHT/ work, but I haven't tried it. I'm by far not an expert at shell scripts, so use with caution.

 

It should take care of creating the symlink if my syntax is right and starting mono-service.

 

Anyway, good starting point.

 

#!/bin/sh
# start|stop|restart NzbDrone
# Credit to Influencer. This is a modified couchpotato_v2 script.

nzbdrone_start()
{ 

# no-op if already running
if [ -r /tmp/NzbDrone.exe.lock ]; then
	return
fi

# check for symlink
if [ ! -L /root/.config/NzbDrone ]; then
	ln -s /mnt/cache/apps/NzbDrone/AppData /root/.cache/NzbDrone
fi

CMDLINE="mono-service /mnt/cache/apps/NzbDrone/NzbDrone.exe"
echo "Starting NzbDrone: $CMDLINE"
sleep 1
$CMDLINE

while [ ! -e /tmp/NzbDrone.exe.lock ]; do
	sleep 1
done
echo "... OK"
sleep 1
}

nzbdrone_stop()
{
# no-op if not running
if [ ! -r /tmp/NzbDrone.exe.lock ]; then
	return
fi

echo "Stopping NzbDrone..."
sleep 1
kill $(cat /tmp/NzbDrone.exe.lock)
sleep 3

if [ -e /tmp/NzbDrone.exe.lock ]; then
	kill -9 $(cat /tmp/NzbDrone.exe.lock )
	rm /tmp/NzbDrone.exe.lock
fi
echo "... OK"
sleep 1
}

nzbdrone_restart()
{
nzbdrone_stop
sleep 1
nzbdrone_start
}

case "$1" in
'start')
	nzbdrone_start
;;
'stop')
	nzbdrone_stop
;;
'restart')
	nzbdrone_restart
;;
*)
	echo "usage $0 start|stop|restart"
esac

Ill mess with this a little later today.  I would like to point out that any folder in /cache needs to be named .XXXX or it will become a user share.  So it needs to be

/mnt/cache/.apps/NzbDrone/AppData

Ill mess with this a little later today.  I would like to point out that any folder in /cache needs to be named .XXXX or it will become a user share.  So it needs to be

/mnt/cache/.apps/NzbDrone/AppData

 

Cool, and btw you can go into the "Shares" tab, click on your Apps share, and you'll see a line "Use Cache:" set it to Only and it won't propagate to the array by the mover script, then just disable NFS & Samba for that share. But yes, making it hidden (with the '.') works also.

if [ ! -L /root/.config/NzbDrone ]; then

ln -s /mnt/cache/apps/NzbDrone/AppData /root/.cache/NzbDrone

 

Dont know what this does, there is no /root/.cache/NzbDrone.

 

Got know clue what the other gimberish does, where to put it, what to name it, and how to invoke it.

 

Assuming you have NzbDrone extracted to /mnt/cache/.apps/NzbDrone

Assuming you have mono installed via:

cd /

cd boot/packages

wget http://slackware.org.uk/slacky/slackware-13.37/development/mono/2.10.8.1/mono-2.10.8.1-i486-1sl.txz

 

 

 

 

Heres what i got for maybe putting in the go file after the array is up:

 

ln -s /mnt/cache/NzbDrone /root/.config/NzbDrone

installpkg /mnt/boot/packages/mono-2.10.8.1-i486-1sl.txz

 

 

 

 

 

 

 

mono-service /mnt/cache/.apps/NzbDrone/NzbDrone.exe

This doesnt seem to do anything.  I run the line without an error, but tower:8989 web page doesnt exist.  And typing just mono, shows nothing running in mono.

 

I found this:

http://mattdeboard.net/2012/10/19/how-to-run-windows-service-as-linux-daemon/

and nzbdrone can be installed as a service:

https://github.com/NzbDrone/NzbDrone/wiki/Installation

 

 

 

 

 

if [ ! -L /root/.config/NzbDrone ]; then

ln -s /mnt/cache/apps/NzbDrone/AppData /root/.cache/NzbDrone

 

It checks to see if the symlink exists, and if it doesn't, it creates it. I'm going under the assumption that after a reboot the symlink will get destroyed.

 

Dont know what this does, there is no /root/.cache/NzbDrone.

 

typo.

 

 

Alright, here we go. I tested the rc script out and it works. 

 

I'm assuming we're using /mnt/cache/apps to store our apps, change if necessary. I'm also assuming you've installpkg'd mono and added it to your go script as discussed earlier in this thread.

 

Installing NzbDrone on unRAID.

 

Step 1: mkdir /mnt/cache/apps/NzbDrone

 

Step 2: Download the NzbDrone deb package and extract it. You'll see two folders, opt and usr. Go into opt. You'll see a NzbDrone folder. Copy the contents of that folder to /mnt/cache/apps/NzbDrone

 

Step 3: Copy and past the contents of the rc script to /etc/rc.d/rc.nzbdrone (its in the code box below)

 

Step 4: mkdir /root/.config

 

Step 5: rc.nzbdrone start

 

Enjoy. Now someone smarter than me will have to clean it up, create the plg and automate the deb extraction.

 

#!/bin/sh
# start|stop|restart NzbDrone
# Credit to Influencer. This is a modified couchpotato_v2 script.

nzbdrone_start()
{

        # no-op if already running
        if [ -r /tmp/NzbDrone.exe.lock ]; then
                return
        fi

        # check for symlink
        if [ -h /root/.config/NzbDrone ]; then
                echo "symlink exists, skipping"
        else
                echo "creating symlink..."
                ln -s /mnt/cache/apps/NzbDrone/AppData /root/.config/NzbDrone
                sleep 1
                echo "... OK"
        fi

        CMDLINE="sudo mono-service -d:/mnt/cache/apps/NzbDrone /mnt/cache/apps/NzbDrone/NzbDrone.exe"
        echo "Starting NzbDrone: $CMDLINE"
        sleep 1
        $CMDLINE

        while [ ! -e /tmp/NzbDrone.exe.lock ]; do
                sleep 1
done
        echo "... OK"
        sleep 1
}

nzbdrone_stop()
{
        # no-op if not running
        if [ ! -r /tmp/NzbDrone.exe.lock ]; then
                return
        fi

        echo "Stopping NzbDrone..."
        sleep 1
        kill $(cat /tmp/NzbDrone.exe.lock)
        sleep 3

        if [ -e /tmp/NzbDrone.exe.lock ]; then
                kill -9 $(cat /tmp/NzbDrone.exe.lock) > /dev/null
                rm /tmp/NzbDrone.exe.lock
        fi
        echo "... OK"
        sleep 1
}

nzbdrone_restart()
{
        nzbdrone_stop
        sleep 1
        nzbdrone_start
}

case "$1" in
        'start')
                nzbdrone_start
        ;;
        'stop')
                nzbdrone_stop
        ;;
        'restart')
                nzbdrone_restart
        ;;
        *)
                echo "usage $0 start|stop|restart"
esac

 

        kill $(cat /tmp/NzbDrone.exe.lock)

        sleep 3

 

        if [ -e /tmp/NzbDrone.exe.lock ]; then

                kill -9 $(cat /tmp/NzbDrone.exe.lock) > /dev/null

 

I get an error on the last line when sending the stop command.  No such process.  Is it trying to stop the process twice?

 

In other news:

IT WORKS!!!!!

 

 

Ok here is what i added to my go script (sorry we unraid people cant access /etc/rc.d):

 

installpkg /boot/packages/mono-2.10.8.1-i486-1sl.txz

mkdir /root/.config

chmod a+x /mnt/cache/.NzbDrone/rc.nzbdrone

/mnt/cache/.NzbDrone/rc.nzbdrone start

 

 

 

THANK YOU SPARKYSPLACE

 

PS:  rc file wont work unless i make it executable.  And for some reason unraid will handle ^M on the go file, but will not handle them in the rc file.  I had to find a vi guide and manually delete each ^M at the end of each line.  For some reason :%s/<Ctrl-V><Ctrl-M>//g wouldnt find any of them.

 

For the rest of the non linux folk, one you get the poor thing running, telenet in and run these commands to control nzbdrone:

/mnt/cache/.NzbDrone/rc.nzbdrone start

/mnt/cache/.NzbDrone/rc.nzbdrone stop

/mnt/cache/.NzbDrone/rc.nzbdrone restart

 

You will have to stop it before you can stop the array.

 

PS PS:  nzbdrone really doesnt like it if you goto the system page  (something about it cant check the disk space on "/") so dont go there unless you have to, there is nothing important there other than disk space viewer, and there is no options to view or change, so just dont go there, nothing to see.

 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.