How to Run Plex Through a VPN When Plex Is Already in Docker

If your Plex server is running in Docker (click here for instructions to installing Plex in Docker), the easiest and most reliable way to route it through a VPN is to attach Plex to a VPN container’s network namespace. This ensures all Plex traffic goes through the VPN tunnel without changing your router, OS routing, or other devices on the network.

Step 1 – Run a VPN Container

We have instructions to installing a VPN in a Docker container here for Windows and here for MacOS


Step 2 – Stop Your Existing Plex Container

docker stop plex
docker rm plex

(We need to recreate it attached to the VPN network.)


Step 3 – Recreate Plex Using the VPN Container’s Network

docker run -d \
--name plex \
--network container:nordvpn \
-v /path/to/config:/config \
-v /path/to/media:/media \
linuxserver/plex

That --network container:nordvpn line is the key.

It means:

Plex uses the VPN container’s network stack.

No separate IP. No routing rules. No leaks.


Step 4 – Test

Open Plex and check:

  • Public IP from inside Plex container:

docker exec -it plex curl ifconfig.me

It should show the VPN IP, not your home IP.

If it does:

Plex is now fully tunneled through the VPN.


Important Notes (That Actually Matter)

1. Remote Access

Plex Remote Access can still work, but:

  • Port forwarding through VPN is provider-dependent

  • Some VPNs block inbound connections

For guaranteed remote access:

  • Use Plex Relay, or

  • Use a VPN provider that supports port forwarding, or

  • Don’t tunnel Plex if remote access is critical


2. Local Network Access

Because Plex is now behind VPN:

  • Local discovery may break

  • Some clients may not auto-find the server

Fix with:

-e PLEX_CLAIM=claim-xxxx

and manual server IP mapping if needed.


3. Performance

All Plex traffic is now:

Encrypted + routed through VPN

So:

  • Expect some throughput loss

  • CPU on the host matters