NODED.CLOUD/Blog/Personal Media Server on a VPS: Direct Play, Transcoding and the Disk Ceiling

Personal Media Server on a VPS: Direct Play, Transcoding and the Disk Ceiling

25 Sept 2026 · Mario Marin

Two constraints decide everything: there is no GPU, and one VPS maxes out at 270 GB. Build the library to direct-play and a €6 machine is enough.

Running your own media server on a VPS instead of a box at home solves two real problems: the upload speed of a domestic connection, and the fact that a machine in your living room is offline exactly when you are travelling. It also introduces two constraints that home hardware does not have — a hard disk ceiling and no GPU — and most disappointment with cloud media servers comes from ignoring both.

This is the honest version: what works well on a VPS, what does not, how to size it, and what it costs in each of our European locations. It assumes you are hosting a library you are entitled to host — your own rips, your own recordings, public-domain material, your own photos and home video.

The two constraints, up front

1. Disk: 270 GB is the ceiling on a VPS

A VPS carries its plan disk plus extra storage in 50 GB increments at €4 a month each, up to three increments. So the maximum on one machine is the plan's disk plus 150 GB — 170 GB on the entry plan, 270 GB on the largest. That is a real library if it is music, audiobooks, photos, recorded shows or a curated set of films; it is not a 4 TB collection. If your library is measured in terabytes, the right product is a dedicated server with its own disks, and our note on archive hosting for large media covers that end.

2. No GPU: transcoding is CPU-only

Our VPS plans do not include a GPU, so there is no hardware-accelerated encode. Anything that needs transcoding — a client that cannot play the codec, a container it does not understand, burned-in subtitles, or a bandwidth-limited connection asking for a lower bitrate — is done by the CPU. That is the single most important design decision for a media server on a VPS: build the library so that it direct-plays.

Direct play is the whole trick

When a client plays the file as-is, the server is doing little more than reading from disk and pushing bytes. A 2 GB machine can do that for several viewers. When the server has to transcode, one stream can saturate a couple of cores.

Practical steps that keep you in direct-play territory:

  • Standardise the library. H.264 in MP4 with AAC audio plays on essentially everything. H.265 saves space and triggers transcoding on more clients than people expect.
  • Keep external subtitle files rather than relying on burn-in. Image-based subtitles (from disc rips) force a video transcode; text subtitles do not.
  • Pre-transcode once, not per playback. If a file needs converting, convert it on disk — ideally on a temporary hourly VPS with more cores, then copy the result to the media box.
  • Set client quality defaults sensibly so apps stop requesting a lower bitrate they do not need.

Sizing

UseShapeRAM / vCPU / diskBucharestFrankfurt · Vienna
Music, audiobooks, photos; 1–2 viewers, direct play onlyVPS I KVM2 GB / 1 / 20 GB€4.00€5.50
Mixed library, 2–4 viewers, direct play, occasional audio-only transcodeVPS II KVM4 GB / 2 / 40 GB€6.00€9.00
One concurrent 1080p CPU transcode plus direct play for othersVPS IV KVM16 GB / 4 / 80 GB€16.00€26.00
Two concurrent 1080p transcodes, or transcoding while indexingVPS VI KVM32 GB / 8 / 120 GB€58.00€78.00

Budget roughly one dedicated core per concurrent 1080p software transcode, and treat 4K transcoding as out of scope on a VPS — 4K direct play is fine, 4K CPU transcode is not. Note where the vCPU count steps up: 2 vCPU through the third shape, 4 at the fourth, 8 at the sixth. For transcoding you are buying cores, not memory, which is why the jump is from VPS II straight to VPS IV in the table.

Metadata scanning and artwork fetching are the other CPU spike, and they are one-off per import. Doing the initial library scan on a bigger hourly machine and then moving the database across is a legitimate trick.

Bandwidth, and where the streaming plans come in

None of our VPS plans have a monthly transfer quota, so there is no traffic bill for watching your own library. What differs between product lines is the per-machine rate: the standard hourly plans are shaped, while the streaming plans carry no per-machine bandwidth ceiling and more vCPU at the same memory size from the third shape up. If your use is one or two viewers at home, the standard plans are the sensible buy. If you are serving several concurrent high-bitrate streams to people in different countries, the streaming line is the product built for sustained outbound video.

Streaming planRAM / vCPU / diskBucharestOther four locations
VPS II KVM Streaming4 GB / 2 / 40 GB€18.99€23.99
VPS III KVM Streaming8 GB / 4 / 60 GB€34.99€44.99
VPS IV KVM Streaming16 GB / 6 / 80 GB€59.99€76.99

Where to put it

Close to the people watching. Video is the workload where the distance shows up first — not as buffering on a well-provisioned connection, but as slower seeking and longer start times. Our five live locations are Bucharest, Warsaw, Amsterdam, Frankfurt and Vienna; Bucharest is the base price, Warsaw and Amsterdam sit a step above, Frankfurt and Vienna at the top. The price list has all of it, and Bucharest versus Warsaw covers the CEE choice if your viewers are in that half of Europe.

Getting the library up there

Uploading a library over a domestic connection is the slow part, and it only has to happen once. Two things make it less painful:

  • Use a resumable transfer — rsync over SSH or rclone — so a dropped connection costs you minutes, not the whole upload.
  • Transcode before uploading, not after. Shrinking files on your own hardware saves both upload time and disk on the server.

And keep a copy at home. A media server on a VPS is a convenience, not an archive: the 3-2-1 rule still applies, and our backup-target post covers the other direction.

Access, not exposure

  • TLS on a subdomain with an ACME certificate, and the media server behind a reverse proxy rather than on its own port.
  • Strong accounts, no open signup, and two-factor on the admin account where the software supports it.
  • Or skip public exposure entirely: a WireGuard tunnel to the VPS means the media server is only reachable to your own devices. Slightly more setup, considerably less attack surface — see the WireGuard guide.
  • Patch it. A media server with an internet-facing web UI is a web application like any other.

Try it for six cents

  1. Order a VPS II hourly — €0.0083 an hour in Bucharest.
  2. Install the server, upload a handful of files that represent your library's worst cases (the disc rip with image subtitles, the H.265 file, the 4K one).
  3. Play each one from the clients you actually use and check whether the server is transcoding or direct-playing. That single check tells you which shape you need.
  4. Destroy the machine — a seven-hour evening of testing is about €0.06.

Hourly services need €5 of account credit to create and charge from that balance each hour; a stopped machine keeps billing, so destroy it when you are done.

How Noded Can Help

If your library fits in 270 GB and direct-plays, a VPS II or VPS IV from the hourly VPS page is all you need, in whichever of our five EU locations is closest to your viewers. If it does not fit, say so in a ticket and we will price a dedicated server with real disks instead — that is a better answer than three storage add-ons and a disappointment.

FAQ

Can I run a media server on a VPS?

Yes, with two caveats: the maximum disk on one machine is the plan's disk plus 150 GB of add-on storage, and there is no GPU, so transcoding is CPU-only. A library that direct-plays runs happily on a €6 machine.

How much CPU does transcoding need?

Budget about one core per concurrent 1080p software transcode. Our shapes give 2 vCPU up to the third step, 4 at the fourth and 8 at the sixth, which is why transcoding pushes you up the ladder faster than memory does. 4K transcoding is not realistic without a GPU.

Do you charge for streaming traffic?

There is no monthly transfer quota on any VPS plan. The standard plans are shaped per machine; the streaming plans have no per-machine ceiling, which is what makes them the right line for several concurrent high-bitrate viewers.

How much storage can I get?

Plan disk plus up to three 50 GB increments at €4 a month each: 170 GB on the entry plan, 270 GB on the largest. Beyond that, a dedicated server.

Should I expose it to the internet?

Only behind TLS, with real accounts and signup closed. A WireGuard tunnel that keeps the server private to your own devices is the safer option and not much more work.

← All posts

Related services

Run this on NODED.CLOUD.

Keep reading

More from the NOC.

14 Aug 2026·Mario Marin

Archiving Twitch VODs on a Storage VPS

Twitch VODs expire fast: as little as 7 days by default, up to 60 for Partners. Here's how we set up an automated pull-and-archive pipeline onto a storage VPS so your back catalog of streams and clips never disappears.

Read post
06 Aug 2026·Mario Marin

Nextcloud Hosting on a VPS in the EU

Self-hosting Nextcloud on an EU VPS keeps your files under GDPR without the Dropbox or Google Drive data-residency guesswork. Here's how to size the right tier and test it hourly before committing.

Read post
25 Sept 2026·Mario Marin

Sizing a VPS for Redis or Valkey

One number decides the shape: resident data. Then maxmemory, the eviction policy, persistence and the firewall decide whether it survives production.

Read post

Like the way we run things? Spin up a server in 60 seconds.