[PhAzE] Plugins for Unraid 5/6


Recommended Posts

Important info regarding unRAID 6.2 and beyond. 

 

 

 

 

***unRAID 6.2 Compatible***

Hello again!

 

I've done another overhaul of the plugins too add new features and update for the unRAID 6.1 security changes, please see the plugin changes below.  Note that your SERVER NEEDS A REBOOT AFTER UPGRADE if you are upgrading from any plugin prior to version 2015.09.06.1, to clear out old dependencies.

 

v3 Features:

  • NEW SickRage and Ubooquity plugins
  • Fully compatible with unRAID 5.x, 6.0.x, and 6.1.x standards
  • Includes all v1 features still
  • Includes all v2 features still
  • Dependencies now install to cache drive if located
  • Plugin follows array status rules due to changes in dependencies, cannot start when array is offline
  • RAM usage is now largely reduced when a cache drive is present
  • Activity log added so you can see the history of what the plugin has done (start, stop, install, update...)
  • New layout for the settings GUI
  • Shows installed version even when app is stopped
  • Shows array status
  • Reduced GUI output to minimal, added full verbose to plugin activity log file
  • Fixed up some app dependencies that may have been missing
  • Added HTTPS settings to any app that supports it
  • Dark theme support
  • CSS cleaned up entirely into CSS files
  • RC script now moved to plugin folder under /usr/local/emhttp/plugins folder, symlink created in /etc/rc.d for backwards compatibility
  • When running "update" command from command line, no longer necessary to specify "Running" as it will detect current state of app
  • New loading screen tells you what the plugin is doing when the page is loading (not fully working on unRAID 5, cosmetic)
  • Many (and I mean MANY) more back-end changes to the code to clean it up

 

Hi again,

 

I've done some big overhaul work on these plugins so they will be designated as v2.  See the features below (mostly back-end).

 

v2 Features:

  • Includes all v1 features still
  • Everything is MD5 or SHA1 checked so no more bad downloads (at least without showing an error message)
  • App install files are now stored on the USB drive in the app bundle folder, no more re-downloading on each reboot
  • The app bundle folder now holds the control files and dependency files for that app, no more re-downloading on each reboot
  • Updated dependencies for some apps for slightly better operation
  • If no internet connection is detected, plugin will attempt to locate a copy on the USB and install that so server can still start and function
  • Universal plugin for Unraid 5 and Unraid 6
  • Uninstall option added, will remove the plugin but leaves your install/config directories intact
  • Fully compatible with Plugin Manager on Unraid 6 beta 12+ (These don't work on Unraid 6 beta 10 and under)
  • Plugin detects if internet is out, and won't hang your server while booting or opening the settings gui
  • When changing config directory, it will move the items rather than copy them as to not add extra space on the cache drive when nearing capacity
  • Added option to disable version checking on the settings GUI, makes page load faster, but you won't get notified on app updates
  • Added manual update check when auto version checking is disabled
  • Downgrade plugin updated for U6B12+ (which normally doesn't let you install an older plugin file)
  • Segregated all dependencies into a PhAzE-Common folder as to not interfere with the OS, uses a wrapper when starting the apps
  • Now lists major dependency versions on settings GUi page, shows 'not working' if they fail to run, and 'not installed' if missing
  • Reduced sleep commands where possible, updated notification messages and streamlined the plugin template to make new apps easier to develop into plugins
  • No need for the GUI fix in the GO file with these, if you have that set up, you can remove them once you upgrade to these
  • Likely more minor tweaks I just can't think of at the moment...

 

Hey Everyone,

 

I've recently decided to make plugins for all the apps I currently use so that I know how they work and can easily troubleshoot them, as well as add in extra features that I might use.  I thought I'd share them all on here for anyone interested in trying them.

 

I've tried to unify the way they work so that all the plugins use similar structure and design when functioning.  Since I'm only one person with a basic Unraid set-up, I was hoping other people could both use and benefit from these while at the same time help me discover any flaws so I can improve them.  Downloads for Unraid 5 and 6 are below.

 

v1 Features:

  • Gets current installed version of application, notifies you of an update to the app when one is available
  • Update to app can be installed from the plugin GUI
  • Notifies you of an update to the plugin if one is available, and can also be updated in the GUI
  • Ability to downgrade to the previous plugin version if you don't like the latest update
  • Update buttons only show when an update is available, checks are done when you open the GUI page
  • Extended functionality for the applications, such as ability to set URL base, or select different BRANCH/BETA of app
  • Ability to set HTTPS if the application allows it to be set externally
  • Improved app directory size calculations, shows you breakdown of directory sizes if they are not subdirectories of each other
  • Improved "RUNNING" link which can be clicked to open the app, includes port and URL base, and HTTPS if they are set
  • Settings changed in the plugin GUI are updated in the apps settings
  • Settings changed in the app will reflect in the plugin GUI
  • Checks entries for port number fields to make sure they are numeric and within proper port ranges
  • Checks entries for directory fields to make sure they don't mix (IE: config dir and install dir are separate)
  • GIT installs retain hidden .GIT files when moved so you won't get "invalid git repo" errors

 

Plugin Downloads:  (Right-Click -> Save Link As)

CouchPotato:(v3)Unraid 5/6Emby Server:(v3)Unraid 5/6FileBot:(v3)Unraid 5/6FlexGet:(v3)Unraid 5/6Headphones:(v3)Unraid 5/6Maraschino:(v3)Unraid 5/6Mylar:(v3)Unraid 5/6NZBGet:(v3)Unraid 5/6NZBmegasearcH:(v3)Unraid 5/6PlexConnect:(v3)Unraid 5/6Plex Media Server:(v3)Unraid 6  (Unraid 5 no longer supported)Resilio Sync:(v3)Unraid 5/6SABnzbd:(v3)Unraid 5/6Serviio:(v3)Unraid 5/6SickBeard:(v3)Unraid 5/6SickBeard_alt:(v3)Unraid 5/6SickRage:(v3)Unraid 5/6Sonarr:(v3)Unraid 5/6Subsonic:(v3)Unraid 5/6Transmission:(v3)Unraid 5/6Ubooquity:(v3)Unraid 5/6

 

These should fully work but if you come across a bug, post it here so I can update the plugin

*** BACKUP YOUR DATA BEFORE INSTALLING AS A PRECAUTION ***

 

Usage (Unraid 6):

- Navigate to the Plugins tab on the Unraid interface

- Click the 'install plugin' sub tab

- Either paste the LINK or navigate to the .PLG file and press install

- Go to the Unraid Settings page, click on the app icon, setup the way you want, and hit apply.

 

Usage (Unraid 5):

- Place .PLG file in /config/plugins/ folder on your USB stick

- Reboot OR run installplg /boot/config/plugins/pluginname.plg from prompt on the server

- Go to the Unraid Settings page, click on the app icon, setup the way you want, and hit apply.

 

Thanks:

- Influencer - Some code has been reused, cleaned up, and extended from his plugins

- dragonfyre13 - Created the code to install nzbdrone .deb file and get the latest version number

- spidi - Some code has been reused from his Plex plugin


 

Help:

 

If you are having problems with the plugins, please first check out this common problems thread I made to resolve some of the more common issues with plugins: LINK


 

Notes:

 

- PlexConnect needs to use port 80 by default, but unRAID Web GUI uses that port already. You can change the Web GUI port in the GO script by adding -p 1234 to the end of the startup command for emhttp like this:  /usr/local/sbin/emhttp -p XX &  (where XX is the new web port to use) then reboot.  You would then access the web GUI with: http://IPofSERVER:XX

 

- Sabnzbd uses port 8080 as a default. If you have Unmenu installed, that also uses port 8080. Remember to change the sabnzbd port to a different one so there is no conflict.

 

- You can create a cron job to update these apps by running the following:  /etc/rc.d/rc.APPNAME update

 

- Here is a small tutorial for changing from old Plex installs/plugins to my plugin so you can keep your database and settings: Link

 

- I recommend leaving "Show storage memory usage" set to "no" for the plex plugin as this will speed up the plugin GUI for people with large databases. Plex stores many files for its database/metadata and can cause this option to hang the browser for a while when it checks the storage size.

 

- Transmission requires the 'transmission remote' application separately to connect and adjust more details on the daemon, or you can edit the settings.json file in your config directory if you wish. Also note that settings changed from the client app while the daemon is running will not save to the settings file until transmission-daemon is terminated. This is of course normal operation for this program so those that have used it before should be aware of this.

 

- if Plex won't start, but installs fine, the problem is likely GCC and GCC-G++ packages installed by unmenu. They break the ability to set the locale which Plex needs to have set. These files aren't needed and are safe to remove unless you have any apps that compile from source.

 

- Flexget runs as a daemon (aka always on), and on the web interface (click 'running' on plugin gui) you can set the schedule for tasks. Have a look at the flexget website for details on this.  If no schedule is set, flexget automatically runs every task each hour. Scheduling works similar to cron jobs but is the prefered method when using the daemon.  This install also sets up a flexget script in /usr/bin should you wish to stop the daemon and just make your own cron jobs.

 

- Any plugin that allows you to change the REPO, be aware it will delete your install and config directories when you change over so there are no application conflicts of databases or config files. If you plan on going back to the previous repo, backup your config directories before making the switch.  Also, there is always the chance that the custom repo you choose uses a heavily modified app that my plugin isn't compatible with so use at your own risk.

 

- If you are using Unraid 6 Beta 12 or higher, you need the v2 plugins in order to see the plugin GUI under settings. The v1 plugins will not show up on this version of the OS.

 

- If you are using Unraid 6.1 or higher, you need the v3 plugins in order for the buttons on the GUI to work.


 

Other:

 

Donations are greatly appreciated but never required: PayPal

 

-=PhAzE=-

  • Upvote 5
Link to comment

Is PMS going to be a plugin?  that would be sweet

Yes, it's a Plugin. It will grab the latest version and download / extract it using the latest Ubuntu version.  It will also store a copy on your USB packages folder so it doesn't have to redownload after each boot.  You will be able to switch from standard version to plexpass version if you have login credentials for plexpass.  It will also check for updates when you go into the GUI page and then you can hit one button to update to the latest version.  Much easier than having to reboot with a txz file or modifying the DEB files into a txz file. 

 

I actually have it completed EXCEPT because I don't have a plexpass account I can't verify that my code works to download the plexpass version.  I will need a beta tester of someone who has that account.

Link to comment

Great work especially on Maraschino! Looking at the dependencies would it be a big ask to see if you can update Influencers NZBMegasearch to v6?

I can take a look to see what's involved with that.  I have never used it before.

 

Edit: Looks pretty easy. Are you aware of any glaring issues with the influencer one that I should address?

Link to comment

Is PMS going to be a plugin?  that would be sweet

Yes, it's a Plugin. It will grab the latest version and download / extract it using the latest Ubuntu version.  It will also store a copy on your USB packages folder so it doesn't have to redownload after each boot.  You will be able to switch from standard version to plexpass version if you have login credentials for plexpass.  It will also check for updates when you go into the GUI page and then you can hit one button to update to the latest version.  Much easier than having to reboot with a txz file or modifying the DEB files into a txz file. 

 

I actually have it completed EXCEPT because I don't have a plexpass account I can't verify that my code works to download the plexpass version.  I will need a beta tester of someone who has that account.

 

I have a Plexpass account and would be happy to test it out, however I know very little about linux and trouble shooting.

Link to comment

Great work especially on Maraschino! Looking at the dependencies would it be a big ask to see if you can update Influencers NZBMegasearch to v6?

I can take a look to see what's involved with that.  I have never used it before.

 

Edit: Looks pretty easy. Are you aware of any glaring issues with the influencer one that I should address?

 

Was very stable and worked fine for me on v5, so none that I am aware of, fust not v6 ready.

 

Thanks for your quick response.

Link to comment

Hi PhAzE,

 

Firstly, thank you for picking these up, a lot of people including myself use these and it's very much appreciated.

 

Do they use python 2.7+? This was one of the problems combining legacy and new plugins like the deluge plugin. A forum user adapted some of the more popular ones to use 2.7 instead of 2.6.

 

Edit: just checked and see they still use 2.6, can this be changed?

 

As this is a new project and before it gets too big, is it worth you speaking to Limetech directly to ensure that these plugins conform to the new framework they are trying to set up?

 

Cheers

Link to comment

Hi PhAzE,

 

Firstly, thank you for picking these up, a lot of people including myself use these and it's very much appreciated.

 

Do they use python 2.7+? This was one of the problems combining legacy and new plugins like the deluge plugin. A forum user adapted some of the more popular ones to use 2.7 instead of 2.6.

 

Edit: just checked and see they still use 2.6, can this be changed?

 

As this is a new project and before it gets too big, is it worth you speaking to Limetech directly to ensure that these plugins conform to the new framework they are trying to set up?

 

Cheers

I haven't spoken to Limetech at all. Do you know if they have any threads talking about their plan for plugins?

 

I used python 2.6 since all the apps i've worked on work best with that so far.  It's pretty easy to change, but then there would ned to be some testing done, and I believe ... couchpotato? breaks on 2.7.  Is it just deluge that is using 2.7 right now and does that not work with 2.6?

Link to comment

OK so no guarantees but I will at least have a look at the other programs requested here to see how difficult it will be. With a new born son, it's my lack of time that really makes the choice for me :$

 

So far requested:

- NZBMegaSearch - done

- Transmission - done

- Flexget - done

- nzbget (overbyrn will update his plugin)

- serviio - done

- airvideo (overbyrn will update his plugin)

- vfs_recycle - Not being worked on

 

Request to change to python 2.7 vs 2.6 (all depends on how the current apps break when making that change)

 

- Does anyone currently have the apps in post 1 running with python 2.7? Any issues you are aware of?

Link to comment

no issues with the once i made running on python 2.7

running couchpotato for months on 2.7

 

can you have  look at the mysql and crashplan plugin for unraid 6 beta 5?

they are broken because of the php upgrade and that is above my paygrade (not a programmer .. just a good googler :) )

 

please feel free to adapt my influencer converted plugins but be aware that the mysql plugin still needs to be updated for the plg update function (maybe should rename to mariadb plugin too ? )

never got that far and too busy with work these last weeks

 

https://github.com/sacretagent/Unplugged_64Bit_Unraid.6

Link to comment

Hi PhAzE,

 

Firstly, thank you for picking these up, a lot of people including myself use these and it's very much appreciated.

 

Do they use python 2.7+? This was one of the problems combining legacy and new plugins like the deluge plugin. A forum user adapted some of the more popular ones to use 2.7 instead of 2.6.

 

Edit: just checked and see they still use 2.6, can this be changed?

 

As this is a new project and before it gets too big, is it worth you speaking to Limetech directly to ensure that these plugins conform to the new framework they are trying to set up?

 

Cheers

I haven't spoken to Limetech at all. Do you know if they have any threads talking about their plan for plugins?

 

I used python 2.6 since all the apps i've worked on work best with that so far.  It's pretty easy to change, but then there would ned to be some testing done, and I believe ... couchpotato? breaks on 2.7.  Is it just deluge that is using 2.7 right now and does that not work with 2.6?

 

All mine seem to be running 2.7.5 without problem.

These include (unRaid6.05)

maraschino - Yours

sabnzbd - unplugged x64 hybrid from the forum

couchpotato - unplugged x64 hybrid from the forum

sickbeard  - unplugged x64 hybrid from the forum

headphones - unplugged x64 hybrid from the forum

 

Hope that helps.

Link to comment

Hi PhAzE,

 

Firstly, thank you for picking these up, a lot of people including myself use these and it's very much appreciated.

 

Do they use python 2.7+? This was one of the problems combining legacy and new plugins like the deluge plugin. A forum user adapted some of the more popular ones to use 2.7 instead of 2.6.

 

Edit: just checked and see they still use 2.6, can this be changed?

 

As this is a new project and before it gets too big, is it worth you speaking to Limetech directly to ensure that these plugins conform to the new framework they are trying to set up?

 

Cheers

I haven't spoken to Limetech at all. Do you know if they have any threads talking about their plan for plugins?

 

I used python 2.6 since all the apps i've worked on work best with that so far.  It's pretty easy to change, but then there would ned to be some testing done, and I believe ... couchpotato? breaks on 2.7.  Is it just deluge that is using 2.7 right now and does that not work with 2.6?

 

Hi PhAzE,

 

Plugins running on 2.7 were upgraded by influencer i believe. They are in his "upgrade" branch on github: https://github.com/Influencer/UNplugged/tree/Upgrade

 

In terms of the new structure Limetech has discussed making the APCUPSD plugin an official template. He also mentioned documentation forth coming after beta 4:

 

Importantly, the plugin manager provides a way for you to easily check if there is an update to any of your installed plugins, and if so, offer one-click update/install.  The webGui itself is a plugin and once you have -beta4 installed, you will be able to check if any webGui updates are available, and if so, install them.  Soon after posting this release I will start posting the "built-in" webGui plugins to the LimeTech github account: https://github.com/limetech

 

I built the 64-bit version from source as well and I will be creating an "apcupsd" plugin hosted in a LimeTech github repo.  I will be using this plugin as an example of how to integrate with unRaid 6's plugin manager.  Should be up pretty soon - in the mean time, anyone want to make a nice 48x48 icon for it?

 

Tom seems to respond best when emailed directly: [email protected]

 

good luck!

Link to comment

Does anyone have any instructions for migrating from Influencers plugins to these new ones?

 

It's not working for me. These plugins seem to ignore my "config directory" settings, even if I disable it completely. It always adds /config at the end, so it doesn't detect the old programs correctly.

Link to comment

Does anyone have any instructions for migrating from Influencers plugins to these new ones?

 

It's not working for me. These plugins seem to ignore my "config directory" settings, even if I disable it completely. It always adds /config at the end, so it doesn't detect the old programs correctly.

Hmm, it shouldn't be doing that, unless you have the config files merged with the application files.  Can you post your install dir and config dir settings by chance?

Link to comment

I've managed to get nzbmegasearch working for unraid 5 and 6, and will update the plugins later today to use python 2.7.3 (i used this version as nzbmegasearch is not compatible with 2.7.5 and all the other apps work on 2.7.3)

 

The plex app is just being tested by a few to make sure the plex pass login is working, then it will be up too.

 

I'll have a look at the new plugin structure to see how different it is from what i've made so far.

Link to comment

also, for the 64bit plex plugin have you taken a look at jumperalex's work he did troubleshooting a few issues the hybrid package exhibits?

 

here it is for ref: http://lime-technology.com/forum/index.php?topic=31485.msg303436#msg303436

 

 

and then..... the ultimate, super, duper, final plex solution ;D Combining the plex updater plugin with the plex plugin, so that it's all neat on one screen!

 

https://github.com/Benni-chan/unraid_plugins/blob/master/plexupdater.plg

 

 

 

then and only then can you have a break.....until limetech get their act together and start taking plugin management seriously!

 

on a personal note, it is incredibly frustrating not being able to help you/the community due to having no technical skills what so ever. I have the time, just not the knowledge and every time i do try to pick up an old plugin and try and force myself to understand i get nowhere.

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.