delicatepc Posted May 1, 2011 Share Posted May 1, 2011 DPC Stupidly Massive Install Script v 1.0 (1497 lines of shitty code hammering a square into a circle) What is it: Its a bash script that installs several items. It is only intended to be run a completely fresh build of unRAID version 5b14 and later. The idea is you put together a physical NAS, plug in an unRAID flash drive, and run the installer and have an awesome NAS server. Included: Slackware Packages: Java Runtime Environment, Nano, InfoZip, Python, Python-Cheetah, Python-Yenc, SQLite UNRAR, OpenSSL, pyOpenSSL, par2cmdline (MultiCore), and many more Services: unMenu, SABnzbd, SickBeard, CouchPotato, SubSonic 4.6 AirVideo 2.4.6, Transmission 2.42, Plex Scripts: S.N.A.P., preclear_disk 1.9 Nice Things: SimpleFeature WebGUI Mod (by SpeedingAnt), Clean PowerDown Tweak Beep when /boot/config/go finished (aka computer boots) Upcoming (in next release): Make Suggestions WARNING: This is stupid code - intended for only clean install of unRAID 5. I guarantee IT WILL MESS UP a configured box Note: If you install to an array disk please set array to autostart otherwise it wont bring up the services after reboot Note: Configure your server IP and host name prior to running the script. Easy 3 Command FULL Install (Telnet in and run below commands) cd /boot wget -nv http://unraid-scripts.googlecode.com/files/massivev1.0.sh massivev1.0.sh Reboot after - weird issue dont feel like fixing right now.... (subsonic and airvideo dont want to properly start until a restart) Selectively install items: Simply append what you want to the command line such as so (simply remove the items you do not want to install): massivev1.0.sh --nobackup --unmenu --sabnzbd --sickbeard --couchpotato --headphones --transmission --subsonic --airvideo --plex Quote Link to comment
kizer Posted May 2, 2011 Share Posted May 2, 2011 Is there the ability to disallow things to install? For instance I wouldn't use: SABnzbd, SickBeard, CouchPotato Quote Link to comment
delicatepc Posted May 2, 2011 Author Share Posted May 2, 2011 EDIT - You can now selectively install services that you want. See first post Hmmm not yet. The workaround for that is do "nano /boot/config/go" and comment "#" out the lines toward the end for for the unwanted services (I marked them fairly clearly). That way they will be installed but not started everytime you boot. I like the way the subsonic installer went - I really hated the other subsonic to RAM installer as it seemed overly complicated (extra 10+ scripts in addition of subsonic - too much). This one seems to work well and video transcoding works! ~dpc Quote Link to comment
kizer Posted May 2, 2011 Share Posted May 2, 2011 I have the installer that was explained before. Maybe I'll give it a try since I want to upgrade ways. Quote Link to comment
delicatepc Posted May 3, 2011 Author Share Posted May 3, 2011 Teaser - Completed raw scripting in of AirVideo latest version. Not yet tested but I'm confident it will be well as all code was clicking in my head. I did this after i got frustrated that my andriod device could play subsonic videos flawlessly (just awesome subsonic -> android) but such compatibility didn't exist for iOS devices - so AirVideo had to be added. Kinda wish I had a honeycomb tablet to play with... Thoughts for cleanup: > separate the sabnzbd, sickbeard, and couchpotato as separate sections (just more logical) > Create subsonic etc/rc.d file for simplified start/stop > Script out some of the mundane configuration of Sickbeard and Couch Potato in conjunction with sabnzbd (preset the script paths etc) Other additions I am looking to add into v.02: > Transmission daemon (looking good) > CrashPlan (meh maybe depends how well it clicks) ~dpc Quote Link to comment
boof Posted May 3, 2011 Share Posted May 3, 2011 (554 lines of shitty code hammering a square into a circle) Love that tagline. If you can come up with a better way of installing crashplan (given the current reliance on ssh tunnels and remote clients) that would be great. That's the current blocker from a fully automated install. Quote Link to comment
neilt0 Posted May 3, 2011 Share Posted May 3, 2011 > Transmission daemon (looking good) Will this be the latest version, or the one in unMENU? Quote Link to comment
prostuff1 Posted May 3, 2011 Share Posted May 3, 2011 If you can come up with a better way of installing crashplan (given the current reliance on ssh tunnels and remote clients) that would be great. That's the current blocker from a fully automated install. I am fairly sure that this would be impossible/very difficult to do. The login via the GUI is required the first time and ssh has to be used for that. If there was a way to log in via the command line we would be set, and I would have created a package to at least install it. Though there have been reports that current versions of the install via command line does not respect the backup location. You have to change it via the GUI and then tar the crashplan archive. Once the initial install is done, a tar of the files and a line in the go script will automate the install on a reboot. I do this and just retar the files when they push out an update. Quote Link to comment
delicatepc Posted May 13, 2011 Author Share Posted May 13, 2011 Will this be the latest version, or the one in unMENU? Latest - Transmission Version 2.22. The unMenu transmission package is coded so sloppily.... essentially it grabs a binary blob (not official but frankenstiened, not interchangable) that "Bubba" created that is hosted on DropBox (bound to run out of bandwith). Then it creates a rc.d script on TOP of the "Bubba" rc.d script... Anyways pile of crap. My method fetches latest stable from a linux mirror repository and uses that and properly generates new files on the fly. Much cleaner. Ditto the same for AirVideo. If I want to update my script for the new versions i just change the urls for the new files. Uploading current draft version of dpcmassivev02. Its almost complete. May throw in the speeding_ant Webgui beatifications. This version includes AirVideo Linux Beta 6 (latest), Tranmission 2.22 (latest), and some code section cleanup (split sabnzbd, sickbeard, and couchpotato into separate sections). Also including backup logic in this version (will attempt to backup your config files and generate a restore script should you choose. All needs testing. Im curious about the AirVideo as it will be complimenting Subsonic (which works great for Android devices) with iOS (Apple Devices) playback. Script almost doubled in size. As always, setup your array, hostname, autostart array on a clean usb stick of unraid latest beta prior to running the script. ~dpc dpcmassivev02draft.sh.txt Quote Link to comment
neilt0 Posted May 13, 2011 Share Posted May 13, 2011 Thanks. Here's the changelog for Transmission: https://trac.transmissionbt.com/wiki/Changes Looks like the version in unMENU is 2.01 . I'd like to update my version of Transmission, and I don't mind trashing all my existing Transmission settings and files, but I don't want to mess with my other setups -- SABnzbd, SickBeard etc. Any chance of modularising the SuperMassiveBlackScript, so I can just install the new Transmission? Quote Link to comment
prostuff1 Posted May 14, 2011 Share Posted May 14, 2011 The unMenu transmission package is coded so sloppily.... That it is not, it is what it is. I would LOVE to see how you handle allowing users to set all those variables without having to modify the settings.json file by hand. essentially it grabs a binary blob (not official but frankenstiened, not interchangable) that "Bubba" created that is hosted on DropBox (bound to run out of bandwith). The file, it is not a binary blob, was created by bubbaQ and is slackware .tgz file used to install Transmission on unRAID specifically. It is not hosted on dropbox, it is on bubbaQ web site. Then it creates a rc.d script on TOP of the "Bubba" rc.d script... It creates that script in compliance with some of the other packages that are doing the same thing. Airvideo creates one, as do other packages. It is a hook into another script unRAID_addon_control.sh created by JoeL. Anyways pile of crap. I will say it again, but the package is not a pile of crap. It is doing a lot of things and trying to protect the user from themselves. My method fetches latest stable from a linux mirror repository and uses that and properly generates new files on the fly. Much cleaner. I had a look through the first version of stupidmassive script and it is just that, stupid massive. each of these installs/functions would be much better served separated out. but that is my own opinion... it is the same reason I hate applications like lotus notes, MS Outlook, etc. They try to do to many things. Ditto the same for AirVideo. Airvideo is a massive install, and does not work on machines with only 512MB of RAM. Not to mention it needs it own ffmpeg which needs to be compiled the first time. If I want to update my script for the new versions i just change the urls for the new files. Changing the URL and the MD5 in an unMenu package is really the only thing that needs to change also to get to a newer version. I applaud your script and will continue to watch it, but it is probably something that I will never end up using. Quote Link to comment
delicatepc Posted May 17, 2011 Author Share Posted May 17, 2011 updated draft of dpcmassive. Big Changes: > Added backup logic with restore script auto generation. > Added transmission (need to test) > AirVideo is starting and able to stream files. Working on resolving trancoding issue/appears to be subtitle related. > Created subsonic rc.d file for simple start and stop > cleaned up some code ~dpc dpcmassivev02.sh.cfg Quote Link to comment
delicatepc Posted May 21, 2011 Author Share Posted May 21, 2011 v02 has been released Added: Airvideo latest, Transmission latest some bugs but should work. Anyone wants to improve airvideo and subsonic RC.d files please do (run as nobody?) EDIT: 05/22/2011 8:34PM - Minor fix in AirVideo rc.d file (now should cleanly start on boot). ~ dpc Quote Link to comment
fucheeno Posted May 23, 2011 Share Posted May 23, 2011 Thanks so much for doing this. I do like "kitchen sink" scripts myself and what pushed me over the edge was getting a newer version of transmission going. Unfortunately I am unable to get transmission to run. I get this error. Any ideas? Thanks. root@Tower:/boot/config# /etc/rc.d/unraid.d/rc.unraid_transmission start /usr/bin/transmission-daemon: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory Transmission started. Quote Link to comment
delicatepc Posted May 23, 2011 Author Share Posted May 23, 2011 Unfortunately I am unable to get transmission to run. I get this error. Any ideas? Thanks. root@Tower:/boot/config# /etc/rc.d/unraid.d/rc.unraid_transmission start /usr/bin/transmission-daemon: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory Transmission started. Are you using clean install on unRAID 5 latest beta? I have not seen that error so far.... ~dpc Quote Link to comment
fucheeno Posted May 25, 2011 Share Posted May 25, 2011 Unfortunately I am unable to get transmission to run. I get this error. Any ideas? Thanks. root@Tower:/boot/config# /etc/rc.d/unraid.d/rc.unraid_transmission start /usr/bin/transmission-daemon: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory Transmission started. Are you using clean install on unRAID 5 latest beta? I have not seen that error so far.... ~dpc My bad and thanks. I didn't even notice that this was for unraid 5. I upgraded and ran your script and now all is well, mostly. For some reason airvideo is not working. It won't list the videos in my shares for some reason. Odd... Quote Link to comment
prostuff1 Posted May 25, 2011 Share Posted May 25, 2011 Your script is growing bigger and bigger. One thing I did notice is that on the airvideo install you have airvideotmp=/tmp The /tmp directory is/was used to help in the compile of ffmpeg in case the system does not have a lot of RAM. You setting it to /tmp completely defeats that purpose. /tmp is in RAM... so therefor does nothing to help alleviate the problem that Joe L. and I set out to try and fix. Either allow the user to set that, like Joe L. and I do in the original package that you grabbed the code from or eliminate it entirely because in it's current form it does nothing. EDIT: I also noticed that the Transmission install does not allow the user to specify virtually all of the variables in the settings.json file. The only one it looks like you are allowing them to set is the RPC port, but you don't give an option to turn on rpc-authentication and put in a username or password. You also set the download, complete, and watch directories for the user. I understand how to change the values there, but a novice user is not going to know how, what, or where to change any of that. Quote Link to comment
delicatepc Posted May 26, 2011 Author Share Posted May 26, 2011 The /tmp directory is/was used to help in the compile of ffmpeg in case the system does not have a lot of RAM. You setting it to /tmp completely defeats that purpose. /tmp is in RAM... so therefor does nothing to help alleviate the problem that Joe L. and I set out to try and fix. Ah yes - I had set that to /tmp during testing to attempt to figure out why ffmpeg didnt want to compile on me. I revert it to disk swap style. AirVideo apparently works VERY well - much better experience than subsonic.... I also noticed that the Transmission install does not allow the user to specify virtually all of the variables in the settings.json file. The only one it looks like you are allowing them to set is the RPC port...This is actually on purpose. My logic is: users who want to make basic changes can go to the webgui and make the changes there. There is also a really great Tranmission "client" that allows to change virtually all the settings: Transmission Remote Gui. Or they can telnet in and run "nano /mnt/$servicesvolume/$servicesdir/transmission/settings.json" and use the nano texteditor to edit the files. I have confidence in the human condition - if they pop open the script in a text editor (notepad++, textedit/textmate) I think the script will pragmatically make sense. If they dont get it... well unMenu may be the option they are looking for. EDIT: I should say one thing. One great thing with this script is people pop it open and see a method of achieving a certain task. They can take that method and integrate it into their own package or script. This is how I put it together and picked up a few things along the way (` vs '). The reason I am a fan of shell scripts is how easy its to open them up, make a change, and run them. Much friendly for testing new bleeding edge stuff out (Something that i like working with at times). Its about tinkering and whoa whoa wait there is a perhaps a not half bad finished result ~dpc Quote Link to comment
gr8pa2 Posted July 18, 2011 Share Posted July 18, 2011 Feature request: -Add Beets http://beets.radbox.org/ to the applications installed Quote Link to comment
delicatepc Posted August 25, 2011 Author Share Posted August 25, 2011 Look for beets and Headphones in the next release as well as testing and usage with latest unraid beta. ~ dpc Quote Link to comment
hurricanehrndz Posted August 25, 2011 Share Posted August 25, 2011 nice... can't wait for headphones... Quote Link to comment
dalben Posted August 26, 2011 Share Posted August 26, 2011 I'm just about to setup my first server and looking to use 5.0 b11. I also want to install a fair bit of what is in this massive script. Is it ready for prime time use and does it work with b11 ? I understand it's a beta so I'm not expecting 100% smoothness, I just don't need anything to break. Quote Link to comment
delicatepc Posted August 26, 2011 Author Share Posted August 26, 2011 I'm just about to setup my first server and looking to use 5.0 b11. I also want to install a fair bit of what is in this massive script. Is it ready for prime time use and does it work with b11 ? I understand it's a beta so I'm not expecting 100% smoothness, I just don't need anything to break. I would hold off. Current script has not been testing on B11 and in progress version of the script is undergoing overhaul that will allow for much for flexibility and granularity. please expect things to break. that way wont disappoint - i guarantee it will break something ~ dpc Quote Link to comment
dalben Posted August 26, 2011 Share Posted August 26, 2011 OK,thanks for the answer. I'll keep watching as I am bound to break something soon and need a fresh rebuild so I'll get to try the script eventually.... Quote Link to comment
delicatepc Posted December 14, 2011 Author Share Posted December 14, 2011 Updated now. Added Plex and headphones, updated the existing items. Optimized the script to get rid of some custom blobs no longer needed. In the latest edition I took some extra time to reconstruct binaries and libraries from package sources as opposed to getting them from custom blobs that forum members compiled. The script is much more dynamic now - its not at the stage of compiling everything from sources (nor should I want it to be) but its much more standardized. Have fun. ~dpc Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.