[BETA] RunTellThat for Plex

RunTellThat for Plex!

 

Introducing RunTellThat for Plex. 

 

Download it now from GitHub   Donate

 

Features:

  • Share channels with multiple myPlex users
  • Provide super user experience when viewing sections

Currently RTT only supports proxy of requests to a designated PMS. This is best suited for sharing channels or providing an super user experience for a shared user. This is helpful for an application like Serenity which does not support myPlex shares.
Here are instructions

 

Future:

  • BottlePy driven proxy server with web gui for settings
  • RTTClient to stream media as super user
  • Load balance multiple PMS servers

 

NOTE: If you disable blocksections in the config you WILL put your myPlex account at risk. Use this with care and only with people you trust.

So is this more in the vein of a CDN or something like that? Where this would just let you connect to the PMS server with the least load (or potentially geo locate and connect to the closest server?).

Sounds really interesting, before I would expand to multiple PMS servers I would love to get something like CUDA transcoding, so I could really maximize the amount of people I could support on one server.

Great work though!

In the base install it doesn’t do load balancing, however its pretty simple to add it on.

I do plan on including it in the future though.

So have you got it balancing over your 5 VPS's?

Im looking for this exact solution.

So have you got it balancing over your 5 VPS's?
Im looking for this exact solution.

I was looking at my signature like a week ago thinking about how I need to change it lol
I am no longer running multiple vps's. I have a single power server with esxi and only 1 pms server.
I am however using it to share channels to 15-20 people though.

But as mentioned in the first post that feature is not yet implemented. I hope to get to it this weekend.


Sent from my iPhone using Tapatalk

The channel shares are interesting. Do people also get a better view. I.e on deck, what’s new etc.


I have a main hosted server plus another that I’m currently using to convert to mp4. Would be interesting to test.

Any updates. Seems interesting!

Sorry guys. Works been heating up lately haven’t had time to update this.

The channel shares are interesting. Do people also get a better view. I.e on deck, what’s new etc.


I have a main hosted server plus another that I’m currently using to convert to mp4. Would be interesting to test.




They would get that yes, but, it will be shared. Its almost like multiple ppl tunneling your box and accessing plex via localhost but with extra security in the middle.



Sent from my iPhone using Tapatalk

Very interesting. So they will retain their own watch status etc. But get a full view? How will this work for users on android ios chromecast and web?

The watch status is not maintained. Effectively everyone will share a single account. This is something i’ve been looking to remedy but haven’t quite figured out.



Sent from my iPhone using Tapatalk

The watch status is not maintained. Effectively everyone will share a single account. This is something i've been looking to remedy but haven't quite figured out.


Sent from my iPhone using Tapatalk

MADNESS! lol 

When you have updates let me know!

In my particular use case (the reason I even made it) this completely ruined things lol so when I have time I will definitely figure it out.



Sent from my iPhone using Tapatalk

I was just looking for something like this.  I would love to have a "farm" of containers's or processes that share a Plex Config and Plex Libraries to that I could balance the load on the boxes, without have to build a large powerful single server to do this, but more of a 2-3 VM's running containers that can see each other and load balance accross the "farm". 

Hey guys,

I'm looking at running PMS in Linux containers and am keen on if load balancing PMS is possible.  Has there been any movement on this or any threads I could pull on?  Has anyone tried a load balancer in front of PMS servers that provides a VIP that maps to multiple PMS servers on the backend?

Hey guys,

I'm looking at running PMS in Linux containers and am keen on if load balancing PMS is possible.  Has there been any movement on this or any threads I could pull on?  Has anyone tried a load balancer in front of PMS servers that provides a VIP that maps to multiple PMS servers on the backend?

Sorry I've been super busy and haven't had time to visit load balancing. You can fork it from here. To get load balancing working inside of index.php at the beginning you can use the plex provided x-client-identifier header to save "sessions" and mutate the $destserver variable as needed.

Interesting solution.

Anyone actually tried this?

Anyone actually tried this?

Well for me it is kind of a non-starter if it can't maintain watch lists/user separation. Plus I have crappy upload so it would just be to play with until gigabit fiber is run around here next year.

Although an interesting use case for this would be sharing out say a live tv plex channel like HDHRViewer for multiple households/multiple users

I recall when setting up a ssl proxy (which is the config file I am using below) this could be broken all together :/

This weekend I'll try and test this out.

Below is a short, high level, off the top of my head, tutorial for load balancing setup

(Off the top of my head means completely and totally untested)

Assumptions:

 - You have multiple pms instances running at different ip addresses with the same setup, preferences.xml file, and content database.

     - It is very important that the content databases are the same. How to achieve this is beyond the scope of this tutorial.

 - One of these will need to serve as the 'master' and will be mapped to plex.tv

 - All of the other servers will run as 'slaves' and should not be mapped to plex.tv

 - Have at least two 'slaves' (three servers total)

Design:

 - The 'master' server will run rtt and pms (in this tut they will not run at the same time, but they could)

 - The 'master' server should have nat configured so that PMS can be mapped to plex.tv

 - The 'master' server does not need to have the same content database but does not need to actually have access to the data

Super Advanced Design:

 - If you really really know what your are doing, rtt and pms don't need to be on the same server or local ip, but do need to have the same internet accessible ip.

The master pms also needs to have the SAME ip as the rtt instance. (i.e be on the same computer).

 ****The next part can be done in more than one way but I will only explain one to save time***

**important** Do not launch RTT (apache/nginx) yet.

Launch PMS if it is not already running.

Map it to plex.tv if it is not already.

Share this server to all of the users if it is not already.

Quit PMS (do not unmap or log our prior to this)

Installing and configuring RTT is the step that deserves it's own very long explanation and tutorial.

For now, I will give a high level explanation:

First, you will need to download/fork RTT and customize it such that when requests come in,

they are mapped to one of the slaves by the x-client-identifier (will be referred to as 'client') header. (This map will need to be saved locally in a db of some sort)

For example: look the client up in the db. If it exists already, pull its current slave.

If it doesn't exist, add a mapping to a 'random' slave and save it in the db.

Then, set the $destserver variable to this slave's ip; RTT will handle the rest.

All of these changes should be REPLACE line 13 in this sample config file. (This is also the config you should use)

Note that none of the parameters under RTT Client mode need to be changed.

Also note that because you are not setting the $nameduseronly parameter to true you can ignore the $lbuuidkvp array.

Also also note that contrary to the prior 2 notes (  :P ) in "production" you should in fact set $nameduseronly=TRUE and populate the $lbuuidkvp usernames (machine identifiers aren't necessary).

Lastly, run rtt on the master server. If everything is working properly, than pms should work like "normal".

Tail the log file to see if things are being load balanced.

Well for me it is kind of a non-starter if it can't maintain watch lists/user separation. Plus I have crappy upload so it would just be to play with until gigabit fiber is run around here next year.

Although an interesting use case for this would be sharing out say a live tv plex channel like HDHRViewer for multiple households/multiple users

For load balancing, using the tut above should maintain user separation.

As for sharing plex channels, there is a sample config file posted to do this.

This does not, however, maintain user separation but it doesn't truly matter.