November 27, 201312 yr I would love to be able to give it a try over SickBeard but the Mono requirement is a tougher roadblock than I had imagined. Anyone had any luck? https://github.com/NzbDrone/NzbDrone/wiki/Installation#linux
December 1, 201312 yr I am currently running nzbdrone. I grabbed the mono 2.10.8 Slackware package and installed it.
December 1, 201312 yr Would be great if someone made a plg for nzbdrone. Sent from my SM-N9005 using Tapatalk
December 4, 201312 yr I am currently running nzbdrone. I grabbed the mono 2.10.8 Slackware package and installed it. http://slackware.org.uk/slacky/slackware-13.37/development/mono/2.10.8.1/
December 5, 201312 yr 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
December 23, 201312 yr 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
January 2, 201412 yr 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
January 2, 201412 yr 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...
January 2, 201412 yr 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.
January 2, 201412 yr 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?
January 2, 201412 yr 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.
January 2, 201412 yr My non programming non linux brain is gonna get this 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.
January 2, 201412 yr My non programming non linux brain is gonna get this 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)
January 2, 201412 yr 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?
January 5, 201412 yr 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?
January 5, 201412 yr 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
January 5, 201412 yr 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
January 5, 201412 yr 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.
January 5, 201412 yr 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
January 5, 201412 yr 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.
January 5, 201412 yr 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
January 5, 201412 yr 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.