Blog · WebJi® India

Install Plex on a VPS

Quick answer: Plex installs on a Linux VPS from the Plex .deb package, then runs on port 32400 under systemd. Claim the server through an SSH tunnel from your laptop, because first-time setup refuses a public IP. Direct play needs about 1 vCPU and 2 GB RAM; each 1080p transcode adds a core.
✓ In business since 2005✓ INR + GST billing✓ 24/7 Email Support — avg reply < 60 min
Young Indian woman in a kurti registering a domain name on her laptop at a wooden desk with a sketch notebook — install plex on vps

What a Plex VPS can and cannot stream

A VPS runs Plex Media Server, the software that indexes and streams a library you already own. It ships no media, and without a GPU every conversion happens on the CPU. Point it at files you have the right to use.

  • Direct play sends the original file untouched; the server only has to move bytes.
  • Transcoding converts the file for a client that cannot play it, and that is the CPU cost.
  • A VPS has no GPU by default, so hardware transcoding needs a plan that exposes one.
  • Plex Pass is Plex's own paid tier; nothing on this page is included with a WebJi server.

Size the VPS for direct play or transcoding

Direct play of one 1080p stream fits 1 vCPU and 2 GB RAM. Every software transcode adds roughly a 2,000 PassMark core, so the second and third simultaneous converter is what forces a bigger plan.

UseCPURAMDisk
One household, direct play only1 vCPU2 GBLibrary size plus 10 GB
Two or three 1080p transcodes2 to 4 vCPU4 GBLibrary size plus 20 GB
4K transcoding, no GPUNot practical8 GBLarge; use direct-play clients

Metadata, artwork and thumbnails live beside the database, not inside the media folders. A 1,000-film library can add tens of gigabytes there, and a full disk stops library scans first.

Install Plex Media Server on Ubuntu

Plex publishes a Debian package for Ubuntu, so there is no repository to add. Copy the current amd64 link from the Plex downloads page for Linux before you start, because the version string changes with every release.

  1. sudo apt update && sudo apt install -y curl
  2. wget https://downloads.plex.tv/plex-media-server-new/VERSION/debian/plexmediaserver_VERSION_amd64.deb — replace VERSION with the link Plex gives you.
  3. sudo dpkg -i plexmediaserver_*.deb — then sudo apt -f install if dpkg reports missing dependencies.
  4. sudo systemctl enable --now plexmediaserver
  5. sudo systemctl status plexmediaserver — you want active (running), not activating.

Plex listens on TCP 32400 and keeps its database in /var/lib/plexmediaserver. That folder, not the media folder, is what a backup has to capture.

Claim the server through an SSH tunnel

Plex only finishes first-time setup when the browser looks local, so opening http://SERVER_IP:32400/web from your laptop shows a claim error. Forward the port instead.

  1. On your laptop run ssh -L 8888:localhost:32400 user@SERVER_IP -N and leave that terminal open.
  2. Open http://localhost:8888/web in the browser.
  3. Sign in with your Plex account, name the server, and finish the wizard.
  4. Close the tunnel. The server stays claimed to your account and is reachable normally afterwards.

If the tunnel window closes before the wizard finishes, the claim fails and the same error returns. Start the tunnel again rather than reinstalling.

Open port 32400 in both firewalls

Two firewalls sit between a client and Plex: the provider's network firewall and ufw on the server. Both have to allow TCP 32400, or remote access shows as unavailable while the local web UI keeps working.

  1. Add an inbound rule for TCP 32400 in the provider control panel, scoped to the IPs that should connect if you can.
  2. On the server, sudo ufw allow 32400/tcp, then sudo ufw status to confirm the rule is listed.
  3. In Plex, open Settings, then Remote Access, and confirm it shows green. Use a manual port of 32400 if the automatic check fails.
  4. Optional: put nginx in front with proxy_pass http://127.0.0.1:32400 and add a certificate with certbot --nginx.

Add libraries and name files so Plex matches them

Plex matches by folder and file name. A tidy tree gives you posters and episode data on the first scan; a flat folder of renamed files gives you a wall of blank tiles.

  1. sudo mkdir -p /media/movies /media/tv
  2. sudo chown -R plex:plex /media — the service runs as the plex user and cannot read root-owned files.
  3. In Plex open Settings, then Libraries, then Add Library, and point Movies at /media/movies and TV at /media/tv.
  4. Name films Title (Year)/Title (Year).mkv and episodes Show/Season 01/Show S01E01.mkv.

Indian bandwidth and storage reality check

One 1080p stream runs 8 to 25 Mbps, and a 4K remux can pass 60 Mbps. Multiply by the number of people watching before you assume a home connection can serve them.

Most Indian home plans advertise fast download and a much smaller upload. Four remote viewers at 10 Mbps need 40 Mbps of upload from wherever the files sit, which is why a library kept at home often streams badly while the same library on a server in an Indian datacenter does not.

Transfer caps are monthly, not per stream. At 8 Mbps one viewing hour is about 3.6 GB, so a 4 TB allowance is roughly 1,100 hours before the cap. WebJi Plex hosting and VPS hosting are quoted by email before payment, with the plan chosen from the stream count and library size.

Fix the failures that stop Plex on a VPS

SymptomCauseFix
Claim error at first loadsetup opened from a public IPUse the SSH tunnel to localhost:8888/web
Remote access stays red32400 closed in one of the two firewallsOpen it in the panel and in ufw, then retest
Files listed but never playmedia owned by rootsudo chown -R plex:plex /media
Library scan stops halfwaydisk full from metadata and thumbnailsdf -h, then add a disk or move the data folder
Buffering on every clientupload bandwidth or a forced transcodePlay the original quality, or move the server closer

When to email WebJi about a Plex server

Email support@webji.services with the Ubuntu release, the systemctl status plexmediaserver output and the exact client error. Support is 24/7 by email in Hindi and English, and the average first reply is under 60 minutes. The office phone is business hours only and is not a support line.

Frequently Asked Questions

How much RAM does a Plex VPS need?

2 GB is enough for direct play of one or two streams. Plan on 4 GB once Plex transcodes 1080p, because the transcoder buffers in memory and the library scanner runs beside it.

Why can't I open Plex at my server IP port 32400?

First-time setup only completes from a local address. Run ssh -L 8888:localhost:32400 user@SERVER_IP -N on your laptop, then open http://localhost:8888/web and finish the wizard.

Can a VPS transcode 1080p without a GPU?

Yes, at roughly one 2,000 PassMark core per stream. Two converters need a plan with two or more modern vCPUs, and 4K software transcoding is not realistic on a CPU-only VPS.

How much bandwidth does one Plex stream use?

About 8 to 25 Mbps for 1080p, depending on the bitrate of the file. Four viewers at 10 Mbps need 40 Mbps of upload, which is the figure most home connections fail.

Does Plex need a domain name?

No. Plex apps sign in through your Plex account and find the server by its claim. A domain only helps if you put a reverse proxy and certificate in front of port 32400.

Need help with this?

WebJi® support does it for you — free. Talk to our Jaipur team →