[PhAzE] Plugins for Unraid 5/6


Recommended Posts

There is no immediate plans for plugins to go away, and in fact, some things almost have to be plugins, such as things that add functionality to the webUI.

 

This is the most useful distinction I've seen between plugins and dockers. Thanks for that!

 

/admits he hasn't fully read all documentation. However, this made it easy!!

Link to comment

And you should be moving to dockers instead of plugins for these apps.

 

Why? Is the plugin system going away? Is there something wrong with these plugins? I'm perfectly happy using this lightweight piece of software to manage my Plex Server updates. Phaze's plugins work well and Phaze is very quick to resolve issues as they arise. For me it is the right tool for the job.

There is no immediate plans for plugins to go away, and in fact, some things almost have to be plugins, such as things that add functionality to the webUI.

 

But PhAzE is the only person still doing plugins of these sort of applications. He does a great job of keeping these working and supporting them. If he decides to move on then I doubt anyone will pick these up.

 

Lots of docker developers, lots of dockers, and more coming on board every day. If you install Community Applications you will see that there are literally hundreds of dockers developed and supported by this community.

 

And dockers isolate their code from the rest of unRAID. If you have a problem, one of the first things people will recommend you try is running in SAFE mode, which means none of your plugins will be loaded. This is because plugins can and have caused issues to the core unRAID.

 

I strongly agree with trurl.  PhAzE has done such a good job here, that he is single-handedly keeping application plugins still going.  But this is not the recommended path, as Lime Technology has strongly encouraged everyone to move to Dockers and VM's for applications.  Why?  Stability of the core NAS server.

 

The problem with application plugins is primarily two-fold, dependency conflicts and buggy apps.  The OS has dependencies, and each app has dependencies, and sometimes one requires a version that's different from another.  That causes crashes, segfaults, and bad behavior.  Bugs in apps can also cause crashes, which can crash the server too.  Updates to apps are notorious for being buggy, and since many users have auto-updates on, an unexpected update may very well take down your whole server.  That is the main reason for recommending the program isolation of Docker containers and VM's.  Dependencies are no longer a problem, buggy software and crashes are isolated and shouldn't affect the server.  (That hasn't been entirely true yet, as Dockers are still going through some growing pains, but should be true in the future.)

 

A primary goal of using unRAID is a completely stable server, a sound and stable foundation untouched by other software failures.  Every plugin you install into the core of your server carries risk, and potentially decreases its stability.

Link to comment

To be fair, every one of my plugins use a separate dependency cache in the PhAzE-Common folder and doesn't have version conflicts with system libraries.  The OS is not aware of that library cache.

 

The programs are run under a different user shell with a separate environment that includes that dependency cache. It doesn't affect the OS and the OS doesn't affect the running programs.

 

Personally I've had dockers mess up the os forcing a full reboot to fix the hung docker program and I've had that with plugins too.

Link to comment

To be fair, every one of my plugins use a separate dependency cache in the PhAzE-Common folder and doesn't have version conflicts with system libraries.  The OS is not aware of that library cache.

Which is the one thing that I've always been amazed at with your plugins and kudos to you on that score...

 

While I definitely have a preference as to which I use and recommend to others, I do tend to merely think of full applications as plugins vs dockers vs VM appliances as different delivery methods, each with their pros and cons, but truth be told if the PhAzE apps ever disappear, then I doubt any other developer would pick plugin as a delivery method, simply because of the amount of work required to separate the application's dependencies from the OS's (and other app's) dependencies.  In a way, PhAzE duplicated the docker system for his own apps in a plugin format....

Link to comment

PhAze,

First let me congratulate you for you excellent work maintaining the plugins, specially Plex. I still don't see any reason to look toward Docker, which is good since I am a bit lazy, and when not broken, don't fix it.

I have an issue though. Plex is my sole plugin. When I have to reboot the server, everything restarts fine, except Plex which displays the standard welcome page, not directing me to the PMS of the server. The remedy is simple, I have to go to Settings> PlexMediaServer>Stop then Start (on UnRAID GUI).

How can I fix this? Even by inserting some command line in some files....

 

The matter is more important that it seems, as I don't know how long I will be around to maintain the family's PMS (small cell cancer, stage 4).

Thank you for your help

 

Link to comment

Which unraid version are you using and are you using any other unraid packages? Mainly, check on your usb under the packages folder and make sure there aren't any plex.txz files in there.

 

When it starts up, what url are you using to connect to when you see the welcome page? Also can you post an image of your settings page so i can check out where you're  pointing the directories to?

 

Sent from my SM-T817W using Tapatalk

 

Link to comment

PhAzE,

 

I am running the latest versions of your plugin and UnRAID (always).

 

Plug-ins in packages are:

 

root@Tower:/boot/packages# pwd

/boot/packages

root@Tower:/boot/packages# ls -lt

total 14304

-rwxrwxrwx 1 root root 14596988 Oct 11  2015 perl-5.18.1-x86_64-1.txz*

-rwxrwxrwx 1 root root    41768 May  8  2010 inotify-tools-3.14-i486-1.txz*

 

>>When it starts up, what url are you using to connect to when you see the welcome page?

I don't know how to answer this question and where to look at.

 

>>Also can you post an image of your settings page so i can check out where you're  pointing the directories to?

3 screen-shots in  attachment

 

Thank you a thousand for not letting me down. You can send me a PM to avoid filling your thread with my garbage.

 

 

UnRAID_Settings.JPG.42dbc54ebec8ac6fb8b9e521d9af703e.JPG

Plex_start_screen_after_reboot.JPG.08d30f8341d5fe027ad6926dc0a755c9.JPG

Plex_settings.JPG.80b681ec580de871a146520d73b977ea.JPG

Link to comment

I would recommend setting "show storage memory usage"  to 'no'  so the plugin page loads faster.

 

Is /mnt/appdisk a share on your cache drive or array?

 

When you run the app as user 'nobody',  does it have the same problem? It seems that when it initially starts it can't read the Plex configuration XML file and starts fresh. Then when you restart the plugin it corrects the permissions.

Link to comment

>>I would recommend setting "show storage memory usage"  to 'no'

Done

 

>>Is /mnt/appdisk a share on your cache drive or array?

No, it is a PLEX dedicated 240 GB SSD (see HC)

 

>>When you run the app as user 'nobody',  does it have the same problem? It seems that when it initially starts it can't read the Plex configuration XML file and starts fresh. Then when you restart the plugin it corrects the permissions.

Done. Then reboot. No change.

Unassigned_devices.JPG.f63240996c387276c76e72a2de4c9735.JPG

Link to comment

Ok so i see you're using the unassigned devices plugin to mount the drive you use for the Plex library.  Chances are that since 'P' comes before 'U' ,  my plugin is initialized / started before that drive is mounted. This is because unraid loads the plugins alphabetically. This is why restating the plex server resolves the problem too.

 

I'll need a bit to think about this.

Link to comment

If this helps...

 

root@Tower:/mnt/disk1# cd /

root@Tower:/# ls mnt

appdisk/  disk1/  disk3/  disk5/  disk7/  disk9/  user/

cache/    disk2/  disk4/  disk6/  disk8/  disks/  user0/

 

My system was built from scratch over the years exclusively for hosting a Plex Media Server. And it works remarkably well. With my new internet provider (Spectrum replacing TWC) with upstream at 23 Mbps, I can deliver from San Diego to my kids in Texas, NY and Washington DC. So I will explore other routes before starting breaking up such a remarkable application.

Link to comment

If this helps...

 

root@Tower:/mnt/disk1# cd /

root@Tower:/# ls mnt

appdisk/  disk1/  disk3/  disk5/  disk7/  disk9/  user/

cache/    disk2/  disk4/  disk6/  disk8/  disks/  user0/

 

My system was built from scratch over the years exclusively for hosting a Plex Media Server. And it works remarkably well. With my new internet provider (Spectrum replacing TWC) with upstream at 23 Mbps, I can deliver from San Diego to my kids in Texas, NY and Washington DC. So I will explore other routes before starting breaking up such a remarkable application.

That shows the appdisk folder exists, but not whether there is anything persistent (mounted disk contents) in it before you actually start plex for the first time after a reboot.
Link to comment

Let's get back on tracks...

I need a reliable way to get PLEX back and running after a power outage, without me being around.

I see currently three possibilities to get this solved:

- A modification in PhAzE brilliant plugin

- Some command lines to be inserted in some files being run at the end of the boot sequence

- Switching to Docker (still to be seen if this would solve the issue)

 

 

Link to comment

>>Can you please post the output of mount at the console?

*********

root@Tower:/# mount

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

tmpfs on /var/log type tmpfs (rw,size=128m,mode=0755)

/dev/sdb1 on /boot type vfat (rw,noatime,nodiratime,umask=0,shortname=mixed)

/mnt on /mnt type none (rw,bind)

/dev/md1 on /mnt/disk1 type xfs (rw,noatime,nodiratime)

/dev/md2 on /mnt/disk2 type xfs (rw,noatime,nodiratime)

/dev/md3 on /mnt/disk3 type xfs (rw,noatime,nodiratime)

/dev/md4 on /mnt/disk4 type xfs (rw,noatime,nodiratime)

/dev/md5 on /mnt/disk5 type xfs (rw,noatime,nodiratime)

/dev/md6 on /mnt/disk6 type xfs (rw,noatime,nodiratime)

/dev/md7 on /mnt/disk7 type xfs (rw,noatime,nodiratime)

/dev/md8 on /mnt/disk8 type xfs (rw,noatime,nodiratime)

/dev/md9 on /mnt/disk9 type xfs (rw,noatime,nodiratime)

/dev/sdn1 on /mnt/cache type btrfs (rw,noatime,nodiratime)

shfs on /mnt/user0 type fuse.shfs (rw,nosuid,nodev,noatime,allow_other)

shfs on /mnt/user type fuse.shfs (rw,nosuid,nodev,noatime,allow_other)

/dev/sdj1 on /mnt/appdisk type xfs (rw,noatime,nodiratime,discard)

 

Link to comment

Ok so i see you're using the unassigned devices plugin to mount the drive you use for the Plex library.  Chances are that since 'P' comes before 'U' ,  my plugin is initialized / started before that drive is mounted. This is because unraid loads the plugins alphabetically. This is why restating the plex server resolves the problem too.

 

I'll need a bit to think about this.

How about checking for the existence of the appdata folder and pausing a second or 2 with several retries in the startup process of your plugin?
Link to comment

Try this:

 

- Turn off auto mount of the array

- Reboot

- When unraid starts, the plugin will be installed but the array will be off

- edit /etc/rc.d/rc.Plexmediaserver

- in the 'app_start' function just above the line that reads 'app_make_dirs' add:

sleep 10

- save and exit then start the array

 

It will take 10 seconds longer to start but lets see if it finds the config on first launch.

Link to comment

Ok,

 

- Unraid GUI under Settings -> Disk Settings -> Enable Auto Start = NO

- Reboot the server

- Unraid will come back up, but the array will be offline still

- Console/SSH into it and run:

      nano /etc/rc.d/rc.Plexmediaserver

- Press CTRL-W (which will do a search) and type without quotes "app_make_dirs" and press enter

- That will take you to the spot in the script where we need to be, add a new line above that app_make_dirs command, and type without quotes "sleep 10"

- Press CTRL-X, it will ask if you want to save, press Y and enter again to save with the same name

- Start your array

 

Then once the array has started, try the plex server to see if you get the welcome screen or if it shows your content.  If you mess up any of the steps above, a reboot will revert any changes you may have made.  If when you start it this time, then we know a delay will resolve the issue but if you see the welcome screen again, then it's something else. :)

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.