Plex https://www.plex.tv/ Stream smarter. Thu, 21 Dec 2023 18:58:17 +0000 en-US hourly 1 2023: A Year of Discovery https://www.plex.tv/blog/2023-a-year-of-discovery/ Thu, 21 Dec 2023 18:58:17 +0000 https://www.plex.tv/?p=21612 It’s hard to believe that this time of year has finally arrived. The time where we slow down and look...

The post 2023: A Year of Discovery appeared first on Plex.

]]>
It’s hard to believe that this time of year has finally arrived. The time where we slow down and look back on how far we’ve traveled over the last twelve months, and the destinations we reached along the way. After all, our mission is not so unlike that of the starship Enterprise: “to explore strange new worlds; to seek out new life and new civilizations; to boldly go where no one has gone before!”

This has truly been a year of discovery—finding new ways to give, connect, learn, and listen. Now, having made it to the season we so affectionately refer to as Plexivus, we can take time to celebrate these breakthroughs and (perhaps most importantly) the commonality they all share: togetherness. To quote the late Japanese writer Ryunosuke Satoro, “Individually, we are one drop. Together, we are an ocean.”

With that, let’s take a look back at 2023.

To Boldly Give

As a team that spans the globe, we believe we are responsible for always finding ways to give back on both a local and a global level. This past August, we announced a brand new giving initiative: The Plex Theater of Dreams Grant. As lovers of cinema and loyalists of independent theaters, we created the $100,000 grant to lend a helping hand to one deserving local movie theater, and in turn, the community it serves. After all, there’s nothing quite like going to the movies.

Never having developed a grant before, this was truly a labor of love. Once we established the details of the grant, we set out to spread the word to local theaters in the US who would be eligible (reaching out to over one hundred!) Then came the really hard part: the application review. So many deserving theaters submitted applications that had us reaching for the tissues—each with a unique story and need. In the end, one stole our hearts, and we are beyond excited to announce the very first recipient of our grant: The Little Art Theatre from Yellow Springs, Ohio. We even made a little film about it.

Be sure to watch to the end, it’s the best part.

To Seek Out New Connections…

This year marked a major milestone in the evolution of Discover on Plex: we can now Discover Together. More than ever before we are living up to our vision to empower real human connection by bringing people and entertainment together.

Not only is Plex the place to find what to watch next no matter where it lives, but now it’s the place to find your friends, make new connections, and share more about you and the movies and shows you love most. We’re not just an app, we’re a community of fans, growing larger every day.

If you haven’t already, explore what’s new with Discover, give your profile a glow-up, and make a friend, or two, or more. Because at the end of the day, we consider a movie recommendation from a friend even more valuable than a Tomato Score.

…And Improved Search Results

Perhaps equally as important as a review of a movie or show, is your experience trying to find it. Though we unveiled Universal Search on Plex in 2022, we continued our quest to perfect the experience, conducting research studies and working together with our metrics team. Turns out, the way you search has changed, which means we needed to change too. We combined the power of our design and engineering teams to create a new and improved search experience, which we debuted just in time for Pro Week.

Feedback was overwhelmingly positive, but if you didn’t notice it, don’t be embarrassed. A truly great search experience is one that you might not even notice, because you’ve just found what you’re looking for, faster.

To Explore New Conversations

Next to Plexivus, our second favorite time of year is dedicated to the users that have been with us from the beginning. We’re talking about Plex Pro Week. Now with three years of Pro Week under our belt, we’re already back in the kitchen, cooking up ideas for 2024.

What made this Pro Week perhaps the most exciting yet, was our first ever “Fireside in the Forums” event. Not your average fireside chat, this week-long event created space in the forums for various members of the Plex community to interact with engineers and thought leaders inside Plex, sharing ideas and feedback. Were we anxious? A little. Was it worth it? Absolutely. In fact, we’ve already made improvements to some existing Plex Pass features as a result of the Fireside. Not a “one and done,” this event is just one of many to come as we fulfill our pledge to stay more connected and engaged with our personal media pros.

In case you missed it, or want to relive it, we’ve got a recap with all the highlights.

Plexamp: The Free Frontier

(Re)born almost on the Fourth of July this year was Plexamp, our highly rated custom-built music player. Originally an idea sparked from our combined passion for music and Plex, it was one of the early fruits of Plex Labs—the place for employee passion projects and community creativity. And now it has made its debut as a fully supported app, free for all. They grow up so fast…

Of course, we did reserve a few of our favorite Plexamp features for our Plex Pass members. Here’s more on what’s changed.

The Voyage Continues

As we say goodbye to this year, we also want to say “thank you” for being part of our crew. None of this would be possible without you and your passion for entertainment. We hope that like us, you’ll take some time to appreciate all that you have accomplished (because you deserve it) and perhaps take even more time to rest. Come January, it’ll be time to get back out there and find something new to discover, together.

From all your friends at Plex,
Happy Plexivus

The post 2023: A Year of Discovery appeared first on Plex.

]]>
Discover Together: When the Sequel Lives Up to the Original https://www.plex.tv/blog/discover-together/ Wed, 01 Nov 2023 15:59:10 +0000 https://www.plex.tv/?p=21506 Let’s journey back twenty years ago to April 2022 (ok, maybe it just feels like twenty years ago) to the...

The post Discover Together: When the Sequel Lives Up to the Original appeared first on Plex.

]]>
Let’s journey back twenty years ago to April 2022 (ok, maybe it just feels like twenty years ago) to the world premiere of Discover on Plex. It marked the moment that our dream of unifying all of our subscription services, watchlists, and recommendations into one easy-to-use app came true.

Since that day, millions of users have used Discover to see what’s new and trending from all of their selected services in one streamlined view. We’ve finally found relief from the streaming struggle with the newfound ability to create one universal Watchlist, browse curated recommendations, and watch trailers for new releases—all from the comfort of our Plex app.

But still, we knew there was more to Discover. A missing link that when found, would make Plex unlike any entertainment platform available. Turns out, that missing link was you. And your friends. And the Plex community at large.

Eureka! Discover is better together.

The Importance of the Water Cooler Effect

We can all agree that we love seeing a Fresh Tomato score, but nothing compares to those IRL conversations on Monday morning (remember those?) where we stand around (instead of working) and review—mano a mano—what we watched all weekend. Let’s call it the Water Cooler Effect.

Rob, Michelle, Ana, and Deepak are all watching [insert show here] and now you’re feeling the immediate, burning need to watch it too.

Sure, our curation is done by real humans, and our recommendations span the services you watch most, but add in the stuff your friends are watching and rating? That’s gold, Jerry! Gold!

It Started as a Beta, Now We’re Here

Inspired by the Water Cooler Effect, we set out to create the next evolution of Discover: enabling users to search for and add friends on Plex, and integrating this connected activity right into the app experience. The result was unveiled as a beta to a group of power users last July, and after many months of friending, sharing, commenting, and profile tinkering, it’s ready for entertainment fans everywhere.

Give Me the Short Version

Starting this week, when you log in on any of our major platforms, including Roku, Apple TV, Android TV, Amazon Fire TV, iOS and Android mobile devices, smart TVs, game consoles, and the web app, you’ll be given an overview of Discover Together, why you should give it a spin, and what settings will give you the best experience. Don’t worry there won’t be a test later.

Now for the fun part. Head over to Discover, where you’ll see that three new tab options have arrived next to Trending: Activity, People, and Profile. We’ve summarized here what each tab has to offer.

Want a Deeper Dive? Thought You’d Never Ask

Settle in as we break down these fresh new tabs.

Profile

It’s new, it’s improved, it’s basically your player card for the Discover Together experience, showcasing your streaming stats. Here you can:

  • See totals of what you’ve watched since joining Plex, broken down by Movies, Shows, and Episodes
  • Share a little bit about yourself—like where you’re from, a short bio, and, if you’re so inclined, a website URL
  • Control who sees each item in your profile—like your Watchlist, your Watch History, your ratings, and even your friends list

Just remember, the more you give, the more you’re gonna get back in return.

People

When it comes to finding friends on Plex, the People tab is your best friend. It’s never been easier to search for and add friends. Simply type in a name, location, or interest to look for folks you know.

Prefer to have us make some recommendations for you? No problem. Check back here often to see who you may know and want to connect with, based on your network and their privacy settings. This tab is also the spot for seeing the full roster of your current friends.

Activity

This is where all the action is. The water cooler, if you will. Here you’ll see what friends are:

  • Watching
  • Rating
  • Discussing
  • Adding to their Watchlist

Yes, all of your friends are watching The Fall of the House of Usher.

Note: To have the activity include events related to content on a personal Plex Media Server, you’ll need to first enable watch state syncing. Keep in mind that how you watched your content is private. Check out this support article to learn more about what data is collected to make this work.

For every item in your activity feed, there are several actions you can take related to the title featured, including:

Mark as Watched
Add to Watchlist
Comment by clicking on the comment/reply button. Clicking on “comment” will open up a new page expanding the thread

Now let’s say you’re viewing a specific title in the Plex app—in this example you’re one of the few people on Earth who haven’t yet seen John Wick 4. You can now see and select activity info to find out which friends are watching, rating, and Watchlisting the movie. Awesome, huh?

Let’s take it one step further and say that now you’ve also watched John Wick 4 (making you very cool) and want to share it with the rest of your friends who haven’t yet seen the movie. First, select the share option, then select which friend(s)—or ALL friends—you want to share with, and finally, add your message.

These messages shared to selected friends will not be visible in the activity feed to all of your friends, but only to the friends you have chosen to share with.

As Always, You’re in Control

It’s up to you which of your activities your friends can see on Plex. You can update your settings at any time. There may also be instances where you would prefer to see less activity from a friend, or there’s an account you want to disappear altogether. Mute and Block to the rescue.

Mute

When you mute someone (they won’t know, btw), you’ll no longer see their Watched, Watchlisted, or Rated activities in your activity feed. You will continue to receive any messages they share with you, and they’ll still see your activities in their feed.

Block

Blocking an account will unfriend them, prevent them from seeing the content on your profile, or searching for you. You’ll no longer see their activities, they won’t see yours, and you can no longer share messages with each other. Access to any libraries you and the blocked account granted to each other will be removed.

For more on Mute and Block, check out our detailed support article.

Live Long and Discover Together

The best advertisement for this exciting addition to Discover isn’t an ad at all—it’s personal experience. So go ahead, give it a spin. We’re excited to see what you think. Plus, there’s even more to come (but that’s for next year.)

We could go on and on about settings and nerdy nuances that take more space than this celebratory blog announcement has to offer. But when you’ve got time for some light-ish reading, we’ve got the hookup for you. Check out any of these support articles for Discover Together.

The post Discover Together: When the Sequel Lives Up to the Original appeared first on Plex.

]]>
Plex Pro Week ‘23: TLDR; Our First Ever Fireside in the Forums https://www.plex.tv/blog/plex-pro-week-23-tldr-our-first-ever-fireside-in-the-forums/ Thu, 21 Sep 2023 22:43:50 +0000 https://www.plex.tv/?p=21477 Hello, dedicated (and amazing) Plex fans! What a jam-packed week so far! There is some fantastic content from search to...

The post Plex Pro Week ‘23: TLDR; Our First Ever Fireside in the Forums appeared first on Plex.

]]>
Hello, dedicated (and amazing) Plex fans!

What a jam-packed week so far! There is some fantastic content from search to servers, so when you’re done here, refill your popcorn and check out all the in-depth sessions featured in Pro Week 2023.

Did you know that we actually kicked off the festivities last week with our first ever “Fireside in the Forums” event? Not your average fireside chat, this week-long event created space in the forums for various members of the Plex community to come together and share ideas, concerns, and interact with engineers and thought leaders inside Plex!

We know that there have been some gaps in communication and areas that we could have done better. The question was, how do we create a fun and exciting event, when we have a recent history and perception of avoiding engagement and communication?

Sometimes the best way to move forward is to just light the fire, grab a comfy blanket, and grab a seat, fireside!

Oh, and did I mention the hot chocolate? It was delicious!

The first toast that we need to make is to thank our passionate community who not only listened to us, but jumped in and posted, asked, and made the entire Fireside a fantastic event. We should also raise our cups and thank the Plex supporters who jumped in to answer questions and help make this a success.

And now that the cups are emptied, the flames have died down, and the embers are starting to cool, let’s take a look back at some of the best of the Fireside in the Forum chats!

—-

Did you know that Plex is a fully remote company? The discussions kicked off with a great question around how we deal with different continents and time zones. While a lot of organizations had to learn these skills quickly in the past few years, we were working remotely before it became cool to work remotely. This includes some amazing asynchronous workplace tools, recording meetings, and a big focus on communication!

We had some great discussion around accessibility which is an area that we are always looking to improve. As well as around improving where ad breaks occur when streaming from our free Movies & Shows since getting an ad dropped in in the middle of a huge plot twist is just as frustrating to us. (We have some pretty innovative efforts underway to improve this for everyone!)

It was great to call out that there are no plans to remove photos, but we do need to decide on what is next for this great feature.

While we have no current plans around providing our own Plex-branded hardware, we are going to continue working to support playback on all kinds of different devices and you never know what fresh new ideas are going to pop up during a hackathon!

It was also great to get a chance to talk about some big initiatives that we have been working on around quality and consistency in our apps. This also includes some very persistent and tenacious bugs that were brought up! These have been invading Apple TVs, NVIDIA SHIELDs, and smart TVs and we are calling in the exterminators!

And then there is Plexamp! What a response here. This app got all kinds of chatter going on around the fireside. It was fantastic to hear all of the responses and ideas coming from people who enjoy this amazing music app. This includes giving a big congratulations to Plexamp who “graduated” from being a Plex Labs project into the wider world of a fully supported app. It basically decided the lab was too small, declared itself to be free (literally, blog post here), and moved out. They grow up so fast…

In other Plexamp news: “yes” to plans for improved downloads, “no” to current plans for Apple watch support, and a very vague-yet-exciting sounding tease around headless Plexamp!

Let’s not forget about some of the other great Plex features. How about the Watchlist? What a great way to have a universal tool for collecting and viewing titles that you would like to see. A great feature—but it could be better! How about we consider adding more filters to make finding things on your Watchlist even easier? Or what about those pesky shows whose order is always wrong—yup, we are working on providing alternate orders there as well!

We aren’t done yet! How about personal media? Let’s talk server baby!

First up: Do you DVR? We do! And we are always looking to improve this awesome feature. Similarly, offline usage is another area that is on the roadmap. Also, while ebooks aren’t on that roadmap, we haven’t given up on audiobooks!

But we aren’t done yet! Local file metadata is definitely on our list and while we are not going to be updating our current python version, what we have in mind to replace them should create some fantastic new opportunities to interact with the development community!

Oh yeah, not one, but TWO more things here! We’re continuing to work on improving video downloads! This is an important area for us to improve. And finally, we heard you loud and clear and video playback speed controls are definitely on our roadmap!

We even found some time to sprinkle in some release news for things like Plex Dash and even tease a big search release a day or two early (here and here—and don’t miss the Pro Week blog post about it!).

Finally, we get to the end here and that might bring up the question: what’s next? We have big plans! Some of these were covered here in the Fireside chat. We know we have work to do, but the first thing to know is that Plex Media Server and our personal media efforts aren’t going anywhere and are still a core area for Plex! Like Mark Twain famously said, “Reports of [our] death have been greatly exaggerated!”

We couldn’t truly wrap up this event without taking one more opportunity to say thanks. Thank you for participating in our Fireside in the Forums chat and for loving Plex. You are awesome!

About Kevin

A Director of Engineering at Plex, Kevin has been an avid user and part of the community for over 12 years. He has grown his server solutions from a modest Xbox with XBMC to the point of being the de facto IT go-to for friends and family.

About Schuyler

Schuyler was one of the earliest employees at Plex and has helped grow and evolve the product and engineering teams through the past decade+. He’s a keen problem-solver and believer in people-first technical leadership. Over the past several years, his media consumption has taken a sharp turn toward kids content.

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: TLDR; Our First Ever Fireside in the Forums appeared first on Plex.

]]>
Plex Pro Week ‘23: Going from Basic to Beast Mode https://www.plex.tv/blog/plex-pro-week-23-going-from-basic-to-beast-mode/ Mon, 18 Sep 2023 04:28:58 +0000 https://www.plex.tv/?p=21390 Looking for some guidance on how to get more giddy-up out of your Plex personal media server? Look no further....

The post Plex Pro Week ‘23: Going from Basic to Beast Mode appeared first on Plex.

]]>
Looking for some guidance on how to get more giddy-up out of your Plex personal media server? Look no further. Joining us this year on the Pro Panel is tech expert Shannon Morse with a detailed session on how to add some muscle to your server setup. In this video you’ll not only learn how to upgrade your setup, but also useful tips on how to back up your precious media collection in the process.

About Shannon

Shannon Morse is an online content producer who emphasizes security and privacy, and consumer technology. As an entrepreneur, Shannon’s goal is to inspire others to live life to the fullest while not sacrificing their identity, ethics, or privacy. She has reviewed hundreds of consumer tech products and uses her platform to promote diversity in information security and technology sectors, and advocates for women in the industry.

More Support

Want a deeper dive? We’ve got you covered:
Backing Up Plex Media Server Data
Move an Install to Another System
Running a Plex Media Server on a NAS
NAS Compatibility List
Choosing a CPU for Your Server
Using Hardware-Accelerated Streaming

Need to start from the beginning? Here’s how to get your server up and running:
Intro to Plex
Quick-Start Guide to Server Set-Up
More on Plex Media Server Installation

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: Going from Basic to Beast Mode appeared first on Plex.

]]>
Plex Pro Week ‘23: Cut the Cord Once and for All https://www.plex.tv/blog/plex-pro-week-23-cut-the-cord-once-and-for-all/ Mon, 18 Sep 2023 04:28:22 +0000 https://www.plex.tv/?p=21450 Do you want to get as much TV as humanly possible? And maybe ditch that cable bill along the way?...

The post Plex Pro Week ‘23: Cut the Cord Once and for All appeared first on Plex.

]]>
Do you want to get as much TV as humanly possible? And maybe ditch that cable bill along the way? Here to help you make the most of your TV experience with Plex is Tim Stewart, aka Techno Tim, with tips and tricks that work even for the DVR illiterate. From selecting the right TV tuner and antenna, to recording Live TV using our hybrid TV guide, this is a Pro talk you should definitely tune in to.

About Tim

Software engineer and content creator, Timothy Stewart, aka Techno Tim, is a full stack software engineer, content creator, and a HomeLab enthusiast. Tim creates fun and easy-to-follow tech content on YouTube, hosts a community live stream on Twitch, and shares tech-related content on all social platforms. With a passion for all things tech, Tim enjoys diving deep into a technical topic, and teaching it along the way.

More Support

Want a deeper dive into Live TV? We’ve got you covered:
Live TV/DVR Setup
Supported DVR Tuners and Antennas

Need to start from the beginning? Here’s how to get your server up and running:
Intro to Plex
Quick-Start Guide to Server Set-Up
More on Plex Media Server Installation

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: Cut the Cord Once and for All appeared first on Plex.

]]>
Plex Pro Week ‘23: Mini Mac, Big Server Energy https://www.plex.tv/blog/plex-pro-week-23-mini-mac-big-server-energy/ Mon, 18 Sep 2023 04:27:46 +0000 https://www.plex.tv/?p=21455 Maybe the key to media bliss is something lying around dusted and uncared for in the garage? Maybe it’s your...

The post Plex Pro Week ‘23: Mini Mac, Big Server Energy appeared first on Plex.

]]>
Maybe the key to media bliss is something lying around dusted and uncared for in the garage? Maybe it’s your grandpa’s old and trusted transistor radio? Okay, maybe not. But Plex’s very own Hugo Sousa is here to show you that you don’t always need brand new, jazzed up hardware to run a Plex server.

About Hugo

Self-proclaimed media hoarder, for almost a decade Hugo has been contributing to Plex’s ecosystem in one way or another, and evangelizing it to friends before that. From sunny Portugal, he leads the Personal Media team’s efforts on being the best platform to curate, enjoy, and share your own content.

More Support

Need to start from the beginning? Here’s how to get your server up and running:
Intro to Plex
Quick-Start Guide to Server Set-Up
More on Plex Media Server Installation
System Requirements

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: Mini Mac, Big Server Energy appeared first on Plex.

]]>
Plex Pro Week ‘23: The Great Docker Migration https://www.plex.tv/blog/plex-pro-week-23-the-great-docker-migration/ Mon, 18 Sep 2023 04:26:26 +0000 https://www.plex.tv/?p=21419 Ready to go on a journey that starts on Windows and ends on Docker? It’s a journey where Plex’s engineering...

The post Plex Pro Week ‘23: The Great Docker Migration appeared first on Plex.

]]>
Ready to go on a journey that starts on Windows and ends on Docker? It’s a journey where Plex’s engineering wiz Kevin tells us all about running his beloved Plex Media Server using Docker’s unique containerization technology—making it not just portable, scalable, and stable but also effortless to manage.

About Kevin

A Director of Engineering at Plex, Kevin has been an avid user and part of the community for over 12 years. He has grown his server solutions from a modest Xbox with XBMC to the point of being the de facto IT go-to for friends and family.

More Support

Need to start from the beginning? Here’s how to get your server up and running:
Intro to Plex
Quick-Start Guide to Server Set-Up
More on Plex Media Server Installation

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: The Great Docker Migration appeared first on Plex.

]]>
Plex Pro Week ‘23: Discover Better, Together https://www.plex.tv/blog/plex-pro-week-23-discover-better-together/ Mon, 18 Sep 2023 04:25:03 +0000 https://www.plex.tv/?p=21456 We all have our tried and trusted friends who tell us what show or movie to watch, and whose word...

The post Plex Pro Week ‘23: Discover Better, Together appeared first on Plex.

]]>
We all have our tried and trusted friends who tell us what show or movie to watch, and whose word we count on as the holy gospel. Wouldn’t it be nice if you could see what they’ve been streaming? With Discover Together—a shiny new way to use Discover on Plex—you can do just that. In this session Plex Chief Product Officer Scott Olechowski is here to preview this exciting new feature that’s currently in beta, but will soon be available for all.

About Scott

Fearless leader, Chief Product Officer, and Co-founder of Plex, Scott is responsible for driving the product strategy, product management, and business development for Plex’s suite of personal media software and services. Along with having a passion for creating a more personalized, intuitive entertainment experience, Scott is an avid music lover and father to five amazing kids.

More Support

Want a deeper dive? We’ve got you covered:
Activity Feed
Discover Source

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: Discover Better, Together appeared first on Plex.

]]>
Plex Pro Week ‘23: Let’s Talk About Search, Baby https://www.plex.tv/blog/plex-pro-week-23-lets-talk-about-search-baby/ Mon, 18 Sep 2023 04:24:45 +0000 https://www.plex.tv/?p=21407 You know that feeling when you’re looking for something but just can’t seem to find the right (key)words? Jason, our...

The post Plex Pro Week ‘23: Let’s Talk About Search, Baby appeared first on Plex.

]]>
You know that feeling when you’re looking for something but just can’t seem to find the right (key)words? Jason, our Product Design Pro illustrates the freshly released and power-packed Unified Search feature that will bury those feelings in a distant past. Take a sneak peek at our gorgeous new UI, that’ll take you on the path to discovery, even as you search.

About Jason

Jason, an experienced Product Design leader at Plex, has a profound understanding of the company’s background. He plays a critical role in shaping product strategy and demonstrates a passion for bridging design and technology.

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: Let’s Talk About Search, Baby appeared first on Plex.

]]>
Plex Pro Week ‘23: A–Z on K8s for Plex Media Server https://www.plex.tv/blog/plex-pro-week-23-a-z-on-k8s-for-plex-media-server/ Mon, 18 Sep 2023 04:23:44 +0000 https://www.plex.tv/?p=21445 There are many ways we can run a Plex Media Server (PMS). These methods include running it on bare metal,...

The post Plex Pro Week ‘23: A–Z on K8s for Plex Media Server appeared first on Plex.

]]>
There are many ways we can run a Plex Media Server (PMS). These methods include running it on bare metal, in a Virtual Machine, on a NAS, or using Docker.

However, an official way to run a PMS using Kubernetes as an orchestration platform has long been missing… Until now!

If you know what Kubernetes is and you’re passionate enough about it to bring your day job home with you, then this blog post is for you!!

If you have no clue what Kubernetes is, that’s okay too!

You can join in on the fun with the rest of us. 😀

Kubernetes (also known as k8s for short) is a system for automatically running, scaling, and managing the lifecycle of your containerized applications. K8s is typically run as a control plane managing one or multiple worker nodes and will take care of scheduling the containers to run based on the job definition. This makes it a really popular method to run applications on cloud platforms like AWS, Azure, GCP, and other platforms.

At Plex, we use Amazon’s Elastic Kubernetes Service (EKS) to run most of our services including our internal test PMS instances and also to hold all of our internal presentation recordings, and pictures from our team meetups. My personal preferred way of running PMS at home is using a nice and simple Docker Compose file.

It’s nice and easy to use, I can define all the other applications I want to run in the file, I can easily-ish move my applications from running on one host to another without needing to re-install and configure each piece of software individually, and I don’t need to manage a k8s cluster at home. (I’m not nearly as impacted by k8s Stockholm Syndrome as my other teammates…yet. 😉)

Application configurations are often packaged as a bundle of declarative yaml files called Helm Charts, which can then be deployed in your k8s cluster just like any other application in your system. A number of people have created various charts over the years to deploy PMS that have been maintained and function to varying degrees. In fact, one of my Plex interview problems was to take one of the unmaintained broken ones and fix it to get PMS deployed. But most of them seem to have been abandoned and are no longer supported by the community.

There are a bunch of people who want to be able run their Plex Media Servers using Kubernetes, which can be seen from the several forum and Reddit posts, and the various Kubernetes manifests for Plex that have been created over the years by the community.

Open source software is a topic that’s very important to a lot of us here at Plex, and our team decided it’s time for us to not just use other open source projects but also to contribute back to, and to produce our own open source projects for the Plex community to benefit from. Enter our Helm Chart to deploy PMS!

We opted to build our chart from scratch rather than taking one of the not-quite working pre-existing ones and modifying it to suit our needs, this made it easier for us to make sure it was easy to use for our internal use cases (at least at first) and then add to it or leave it open to expansion by the community. For us, the chart had to meet the following criteria:

  • be able to import / migrate a pre-existing PMS with minimal operator intervention
  • be able to play back our meeting recordings, shared PlexCon photo galleries, and testing content from AWS S3 and Google Drive storage
  • not lose the PMS database and cache files whenever the service gets updated
  • support direct playback of media without falling back to our Relay Service
  • be able to run custom sidecar containers and custom init containers
  • not make our team cry when we wanted to deploy a new PMS instance

Overall this list comprises target objectives that we felt would be a great starting point for an official open source Helm Chart. Hopefully, this manages to avoid too many internet flame wars and immediate feature requests, but we are excited to start down this journey with the wider dev community.

The first step is to make sure that everything is all set before we start up the actual PMS instance.

Prerequisites

Before we get too far into this, a small disclaimer might be warranted. I know this is a blog post about how awesome it can be to get Plex running in a cluster, but I would probably suggest sticking to running your server using Docker instead. The main reason for this is the significant learning curve that comes along with managing and running your own cluster. But, if you really want to run a cluster, I’d suggest going to find some blog posts about getting a cluster setup that best fits your hardware and your use case, it’s a bit too broad of a topic for us to cover here, once you get that up and running come back and the rest of this post will be here for you. 😀

The first step is to have a Kubernetes cluster running. If you don’t have one then don’t worry, it’s really easy to start one locally for testing.

If you have a recent version of Docker Desktop installed, then there is already one built into that platform that you can use! (Note, you might have to enable it in settings to turn it on.)

Once that is set up and running, install helm using your favorite package manager (I will be using homebrew here for my example since I’m on a mac).

brew install helm

Next, you need to configure the helm repo so the chart can be fetched and installed:

helm repo add plex https://raw.githubusercontent.com/
plexinc/pms-docker/gh-pages

Once you have configured the helm repository you can create the values file that’s specific to your PMS instance.

How you configure the values will change a little bit depending on your cluster configuration. The configuration may be different if you’re starting a new server, if you’re migrating an existing server, and also based on where your media files are coming from.

In our example here I’ll run through both setting up a new example and creating a shiny ❇ new ❇ server.

Creating a new PMS

Creating a new server is a bit simpler since we are starting from scratch.

The first step will be to create a values.yaml file that contains your settings, you can find the default file here in the GitHub repository. That file contains all of the default values.

Here is our sample configuration called values.yaml in our current directory:

ingress:
    enabled: true
    # note put a domain name that points to your ip address here
    url: https://demo-pms.example.com
    ingressClassName: ingress-nginx
pms:
    configStorage: 10Gi
extraEnv:
    # This claim is optional, and is only used for the first startup
    of PMS
    # The claim is obtained from https://www.plex.tv/claim/ is
    only valid for a few minutes
    PLEX_CLAIM: "claim"

Note however that this makes a couple of assumptions:

  1. that you have an ingress controller configured on your cluster (this probably won’t be the case from Docker Desktop). For bare metal clusters, you’d need a Load Balancer, such as MetalLB to route your ingress traffic.
  2. that you don’t have another PMS instance running on port 32400 on your public IP address (this will cause the default .plex.direct resolution to resolve to your other PMS instance.)
  3. that you have port 443 forwarded to your cluster from your public IP address. Now we should be ready to start up our test PMS deployment to Kubernetes.

We can use the helm install command to install the chart:

helm install demo plex/plex-media-server -f values.yaml

To finish the setup we will need to connect directly to the PMS instance and finish setting it up using the web browser. If we have not yet set up an ingress or claimed the server then we can use this command to port forward to it:

kubectl port-forward service/demo-plex-media-server 32400:32400

Then we can go to http://localhost:32400 and do the normal setup steps.

The only special settings that we will need to make sure to check are the ones related to external access: Remote Access and network > Custom server access URLs. The custom server access URL should have been set automatically, and it assumes that you have HTTPS set up on your ingress (which you should, with the popularity of tools like Let’s Encrypt there is no reason to not have it enabled), but it’s worth double-checking to make sure that the URL is correct and that it will actually route to your PMS instance (if not, something might be misconfigured with your ingress controller).

In order to keep things simple, it is recommended to set the Remote Access port to 443. By default, the PMS chart will use a Service type of ClusterIP, but you can configure a Service type of NodePort to expose the app directly. The options are present in the chart and you should decide what’s better for your particular setup after evaluating the pros and cons of each solution. The details of each of these settings are unfortunately outside the scope of this article, but please refer to the excellent k8s docs for more details. Now that we have our very own Personal Media Server up and running, we need to configure our k8s PMS for media access.

There are loads of ways that you can get your media to your server. For this example we did not want to have to think of all the different ways that someone might be storing their data and have their clusters configured. We decided that the simplest approach was to reuse an existing tool that can mount volumes: Rclone. There are many other ways to do this, so we suggest you do a little research based on your specific use case for how your media is stored.

Rclone is a really powerful tool that can mount a ton of different storage platforms as volumes, so we didn’t need to specifically account for all the different data sources that one might want to use. A normal Rclone configuration file should be used, we would recommend using the rclone config command to create the file.

Once the file is made you will need to set it in a Kubernetes secret (you can create the secret directly or use your preferred utility, such as sealed secrets or external secrets) and then set the secret name in your values.yaml file in the rclone.configSecret.

Sample portion of the values.yaml file for the Rclone configuration:

  rclone:
   enabled: true
   configSecret: "demo-pms-rclone-config"
   remotes:
   - "pictures"          		# sample from google drive
   - "videos:demo-content/videos"       # sample from an S3 bucket

Corresponding sample Rclone config file for Google drive and for S3:

[pictures]
type = drive
scope = drive.readonly
token = TOP SECRET
team_drive = TOP SECRET

[videos]
type = s3
provider = AWS
env_auth = true
region = us-east-1

Once you have that added, updating the helm chart will start Rclone sidecars for you to mount the volumes into your PMS container. Then set up the new media libraries using the UI, same as you would with any other installation method!

And the final (and probably most important) step: sit on the couch and start watching your favorite movies or TV shows!

Migrating an existing installation

You might be asking yourself, what if I am already running a Plex Media Server and I want to join the cool kids club with Kubernetes? Not a problem, you’ve come to the right place!

If you already have a Kubernetes cluster running locally—fantastic, that’s the first step done!

Once you have your cluster set up, your next step is probably to follow most of the same steps from the new server setup section to make sure that your media volumes can be mounted correctly. Once that is all set you should clean up all your testing resources—especially the persistent data volumes. There is a little bit of downtime involved to do the actual migration while the metadata gets moved over.

Steps:

  1. Disable the empty trash setting in PMS
  2. Stop your existing PMS instance
  3. Create a tar.gz from the plex data directory tar -czvf pms.tgz (this should be at the Library directory level)
  4. Copy the tar file over to your local machine
  5. Add the following block in your values.yaml file to make the chart wait for the archive to be uploaded and ready before starting the actual server
  6.   initContainer:
        script: |-
          #!/bin/sh
          echo "waiting for pre-existing pms database to uploaded..."
    
          if [ -d "/config/Library" ]; then
            echo "PMS library already exists, exiting."
            exit 0
          fi
    
          # wait for the database archive to be manually copied to the server
          while [ ! -f /pms.tgz ]; do sleep 2; done;
    
          tar -xvzf /pms.tgz -C /config
          rm pms.tgz
    
          echo "Done."
  7. Install the chart
  8. helm install demo plex/plex-media-server -f values.yaml
  9. Copy the server data archive into the init container
  10. kubectl cp pms.tgz default/pms-plex-media-server-0:/pms.tgz.up -c demo-pms-plex-media-server-pms-init
  11. Once the file has finished uploading, rename it so it will automatically be processed by the init container
  12. kubectl exec -n default --stdin pms-plex-media-server-0 -c demo-pms-plex-media-server-pms-init h -- mv /pms.tgz.up /pms.tgz
  13. Wait for the archive to unpack and for the server to start up
  14. Once it is up and running you may need to do the same updates through the plex UI of the external access settings: Remote Access and network > Custom server access URLs. And you may also need to move the references to the library media locations
  15. Enable the empty trash PMS setting

Now you should have your exact same Plex Media Server running in Kubernetes! Congrats 🎉

What’s the catch?

In case you haven’t figured it out yet, there is always a catch. The main one being that running a Kubernetes cluster is a lot more involved than setting up most of the other systems with a fairly significant learning curve and amount of maintenance work that you need. (We have engineers who spend quite a bit of time coaxing our clusters into doing what we want. ) But, if you already have a cluster running, it’s a nice way of being able to deploy one more of your applications using your existing infrastructure without needing to configure something new just for one app.

The main benefit and (limitation in this case) with k8s is auto-scaling. K8s works really well with scaling applications when their load changes and moving the containers around between different hosts in the cluster when it needs to. But PMS is not tailored for dynamically scaling the number of instances and you can only have one instance running at a time, so that’s not something you’ll be able to magically benefit from by switching your deployment method over to k8s here.

Thanks for reading and sharing our passion for Plex, personal media, Kubernetes, and open source!

Stick around and check out the rest of the awesome 2023 Plex Pro Week content!!! And feel free to open up some of your own pull requests on the PMS Helm Chart that can make it even better!

More Support

Need to start from the beginning? Here’s how to get your server up and running:
Intro to Plex
Quick-Start Guide to Server Set-Up
More on Plex Media Server Installation

More from Plex Pro Week ‘23

The post Plex Pro Week ‘23: A–Z on K8s for Plex Media Server appeared first on Plex.

]]>