Running Plex Server on a VPS – worth it?

My little Dell FX160 is starting to struggle running Plex. I’m running more services on it and the 2GB of RAM and old slow CPU just can’t keep up. Time to go server shopping!

My initial thought was to get an Intel NUC. Plenty of grunt for what I need, low power consumption and not that expensive @ ~$450 for an i3 unit and some RAM. But I kinda don’t have $450 lying around these days (need more of you to subscribe to The Sizzle!) so what about hosting Plex in the cloud?

There’s fast computers with fat internet connections for a few bucks month all over the place – why am I bothering to have a server at home? My internet connection (100mbit) is more than fast enough to stream video and I don’t hoard terabytes of content I’ll never watch again. Maybe keeping my Plex server in the cloud, along with a Usenet client, isn’t a bad idea?

To see if running Plex on a cloud server actually works, I spun up a few US$10/m servers with Vultr because I already have an account and it’s a piece of piss. One in Australia, one in Singapore and one in the US (Los Angeles). Why the different regions? To see if bandwidth and latency would be an issue.

I assume latency won’t matter much with Plex. Once the stream starts, what’s a few hundred milliseconds between friends? So I tried the US server first as if I want a cheap box with a bit of storage, it’ll be running nowhere near Australia. My sample content is a 22.9mbit BluRay rip of Rogue One. If I can stream that off a remote server, chances are everything else will work fine too.

Turns out that both latency and bandwidth are an issue for Plex when using overseas servers. My ISP (Skymesh, then later, Aussie Broadband) wouldn’t sustain 3MB/sec to Vultr’s US server during peak periods. It worked fine at like 2AM when I was setting this up, but in the evening (when I actually want to watch stuff), bandwidth to the US is very wobbly. Bursts of speed are no problem, but that’s not enough for uninterrupted viewing.

Unfortunately, I experienced issues with fast forward and rewinding – if I scroll forward in a video, it’d work for a few seconds, then stall and not resume. Same with rewinding. Using a US server is a shitty experience compared to a local server.

Singapore would be better right? Closer to AU and cheaper than AU hosting, possibly less congested pipe to SG than US/EU, and lower pings as SG is closer to AU than the US. Nah, same shit as the US, particularly during peak, would barely crack 1MB/sec. Latency was often worse than the USA! I did notice it vastly depended on which route my ISP took, sometimes I’d be routed to SG via the USA, other times, via Perth. When going via Perth, it was okay, but the path my ISP chooses to reach Vultr’s SG server is too random to rely on for Plex.

So how about an AU server? Are the issues I’m facing streaming Plex over the internet something inherent to remote access of Plex or just a lack of bandwidth or poor latency? After using an AU server for a few days, I can tell you it’s much better. In fact, an AU server is almost indistinguishable from having a server on my local network. Awesome!

The downside of an Australia service is price. They’re nowhere near as cheap as an American or European servers. Now that I know Plex in the cloud works fine as long as the server is in AU, is running Plex in the cloud cost effective versus a local server?

To run a server locally, there’s the upfront cost of the machine, let’s say my old favourite, a HP 8200 Elite/Lenovo M91p SFF box with an i5-2400 CPU ($150 off eBay) and a 2TB 3.5″ HDD ($95 at MSY). $250 all up. Then there’s power consumption (20c/kWh, 24×7, ~50W) is 24c/day, $7.30/month.

My remote server requirements are pretty simple. 4GB of RAM and 200GB of local or at least in the same datacentre, of storage. Popular cloud hosting services in AU are not cheap:

  • Azure – A2 (3.5GB RAM, 60GB disk) & 256GB managed disk is USD$81.97/m
  • Google – n1-standard-1 (3.75GB RAM) & 200GB persistent disk is US$45.24/m
  • Amazon – t2.medium (4GB RAM) & 500GB EBS throughput optimised storage (500GB is the minimum) is USD$64.38/m
  • Alibaba – ECS Starter (4GB RAM, 60GB disk, USD$39/m) + 200GB Ultra Cloud Disk (USD$29.20/m) is USD$68.20/m

Even simple VPSes with enough storage located in Australia are quite expensive:

  • Vultr – 16GB RAM, 200GB SSD, US$80/m
  • HostHatch – 8GB RAM, 200GB SSD, US$55/m
  • Dediserve – 4GB RAM, 30GB SSD, 200GB NAS, $61/m
  • Micron21 – 4GB RAM, 200GB SSD, $252.20/m! Ex-GST!

The cheapest I found that ticks all the boxes is a VPS from Network Presence. 2GB of RAM, 600GB HDD for A$39.90/month. Despite that, it’s still not very cost effective.

The cheapest AU server is $39.90/m, making it $957.60 for 2 years (about how long I’d expect a home server to be ok for until wanting to upgrade). But running a Plex server at home is just $250 up front then $7.30 a month for electricity. Over 2 years that’s just $425. Half the price of running it in the cloud.

So while running a Plex server in the cloud works, it costs way too much, for me at least, versus just buying a cheap computer and running it at home.

How about using using S3, B2 or some other sort of block storage mounted as a filesystem? Good question! While it’s expensive for heaps of data, I only want a few hundred gig. Storing 200GB is only ~US$5/m on S3 in Sydney (but that doesn’t count bandwidth/request costs, which aren’t cheap), so I figured I’d give it a shot. I used s3fs to mount an S3 bucket as a filesystem and pointed Plex to it.

This was rubbish. File access was incredibly slow, Plex would just hang there when trying to play a file and the library wouldn’t update fast enough. Even copying media from the VPS to S3 was a bit of a pain in the arse as it wasn’t very fast and sometimes unreliable. Then there’s the issue where files can’t be bigger than 5GB. Plenty of files are over 5GB now, so yeah.

Hang on, Plex Cloud is a thing! Use that! It’s literally what it’s designed for. I’ve even got 1TB free with OneDrive I’m not using. Get a cheap US/EU VPS and have Sabnzbd download direct to a mounted OneDrive folder that Plex Cloud reads. Sabnzbd’s post processing feature lets me run a script uses rclone (there’s no official OneDrive client for Linux) to copy the file to OneDrive, then deletes it.

Unfortunately, copying from the VPS to OneDrive is slowwwww, like 100kb/sec. Maybe it’s just because I’m using an AU server and Microsoft doesn’t have any AU servers for OneDrive? Took way too long to be practical. Other cloud storage systems may not be so slow. Hardly any of them have Linux clients anyways. You also need to be careful of the anti-piracy stuff many of these services have, if they detect downloaded media (either via filename or unique hashes of known pirate material), they’ll close your account.

Google Drive For Work still has an unlimited option (costs $50/m tho – $10/user and ya need a min of 5 users), but does seem to limit people by either bandwidth or API requests. There’s a Reddit community called PlexACD that is dedicated to working around Google Drive’s limitations as a way to store terabytes upon terabytes of media for Plex. It’s a bit of a cat and mouse game and it seems inevitable Google will kill the unlimited data option at some point.

If you’re keen to try, there’s a few scripts out there that set everything up for you. SmokeScreen seems like the most complete one if you’re Linux savvy. If you’re patient enough to go through that, you’ll be able to get a basic AU VPS with a small amount of storage run Plex Server and a usenet client on there with Google Drive acting effectively as a gigantic external HDD. It still costs more than a local server (AU VPS for $20/m, $10/m for Google), but you can store every single stupid movie and TV show you like. Make your own Netflix!

There’s also a few seedbox providers such as The Seedbox Company that have Plex pre-installed and most seedbox hosts that have root access will let you install Plex just fine. Combined with heaps of storage and usually unlimited bandwidth, they’re reasonably priced. Problem here is that for Australians, they’re hosted in Europe, which as I found out earlier, is untenable for a smooth Plex experience.

After all that fucking around with testing different regions and digging around every single web host with an AU server for a good deal, my conclusion is: run your Plex box at home, not in the cloud.

Running it in the cloud as an Australian is just too expensive. Not just a little bit expensive to justify the convenience of not having to worry about a box at home, but double the cost! Using a server hosted outside of Australia means latency is too high, making Plex chuck a tantrum, or not enough bandwidth and you have to watch everything at a reduced bitrate and quality.

If you’re overseas, maybe a nice dedicated server from Kimsufi or Hetzner would work well, but for Aussies, like most things to do with the internet, should give up on the idea of a cloud based Plex setup unless you’re really, really anti-running a server at home and don’t mind the cost.

Anthony Agius

The Sizzle is curated by Anthony "@decryption" Agius, who has been hanging around the tech scene in Australia like a bad smell for over a decade.

S'more reading

So what are you waiting for?

Sign up for a free two-week trial today and find out for yourself. You don’t need to provide any credit card details.

Welcome aboard!
Expect to receive an email shortly.
Hmm…
Looks like there's something wrong with the email you entered.