Plex remote access without port forwarding.
Portless gives your Plex Media Server a stable HTTPS URL that works behind CGNAT, double NAT, blocked port 32400, and dynamic IPs. Your server connects outbound on 443, so there is no router setup, no DDNS, and no VPN app for viewers.
Your Plex server
192.168.1.42:32400Portless edge
tunnel onlineAnywhere
browser · phone · tvPlex remote access problems Portless solves
If Plex says your server is not available outside your network, the root cause is usually NAT, blocked ports, or changing home internet. Portless bypasses the inbound networking step entirely.
Plex remote access not working
Keep Plex on your home server and publish it through a stable HTTPS URL instead of fighting router discovery.
No port forwarding for Plex
Your daemon connects out to Portless. You do not open inbound ports or expose your router admin surface.
CGNAT or double NAT
Carrier-grade NAT and nested routers block normal inbound connections. Outbound 443 still works on most residential networks.
ISP blocks port 32400
Portless does not depend on Plex's default inbound port. The public side is browser-trusted HTTPS.
Dynamic IP breaks Plex
Your Portless subdomain stays stable even when your home public IP changes after a reboot or ISP lease renewal.
Plex Relay is too slow
Portless is a per-account tunnel for self-hosted Plex, built for normal Plex clients and long streaming requests.
Three steps to remote Plex access
Your server makes one outbound connection. We give you a public HTTPS URL. That's the whole product.
Claim a subdomain
Sign in with your email and pick a name. You get https://yourname.portless.io with automatic TLS, yours for as long as your account is active.
Run the daemon
Drop the Portless daemon next to your Plex server with Docker, unRAID, Synology, or a bare-metal service. One environment variable, one token, one outbound connection. No router config, no firewall changes.
Stream from anywhere
Use your normal Plex clients with a public HTTPS server URL — Roku, Fire TV, Apple TV, smart TV, console, phone, browser. No port forwarding, no DDNS, no NAT loopback gymnastics.
Built for self-hosters on real internet
Six things you should expect from a tunnel for Plex. We built around them.
Real TLS by default
Browser-trusted certificates, renewed transparently at the edge. No mixed-content warnings on Plex web, no profile prompts on iOS.
Works behind CGNAT
Carrier-grade NAT, double NAT, blocked port 32400 — none of it matters as long as the server can reach Portless on outbound UDP 443.
Quick setup
One token. One container. No router config, no inbound firewall changes, no DNS edits.
Customer-run daemon
The daemon runs next to Plex in your own Docker stack. Its source is public, and published images are signed with build provenance and SBOM attestations.
No viewer VPN app
The server owner runs Portless. Viewers use Plex without installing a Portless app, joining a VPN, or managing a tailnet invite.
Minimal tunnel metadata
The edge terminates browser-trusted TLS for your subdomain, then forwards requests to your daemon over mTLS QUIC. Portless records operational and billing metadata such as bytes, status, timings, and sanitized route class.
Portless vs Plex Relay, Tailscale, Cloudflare Tunnel, and port forwarding
Those tools all solve real problems. Portless is narrower: remote Plex access for self-hosters who need a public URL without router changes.
Get your tunnel — start free trial
Sign in, claim a subdomain, paste one Docker command. The daemon connects outbound on UDP 443 — no inbound ports, no firewall changes, no DNS edits.
# 1. Run the Portless daemon next to Plex docker run -d --name portless --restart unless-stopped \ -v portless-data:/var/lib/portless \ -e PORTLESS_DEVICE_TOKEN=$YOUR_TOKEN \ -e PORTLESS_PMS_URL=http://192.168.1.42:32400 \ ghcr.io/crbl-technologies/portless-client:latest # 2. Open your subdomain — that's it open https://yourname.portless.io
How is this different from Plex Relay?
Does this violate Plex's Terms of Service?
Why not Tailscale, Cloudflare Tunnel, or ngrok?
How much does it cost?
Where does the daemon run?
Can I inspect the client?
Start your tunnel — 7 days free
One email, one container, one stable URL. Cancel from the Stripe portal during the trial and you will not be charged.