Back to Article List

Cloudflare Tunnel for Jellyfin: Setup + the ToS catch

Cloudflare Tunnel for Jellyfin: Setup + the ToS catch

Cloudflare Tunnel is the most recommended and least examined way to put Jellyfin on the internet. No port forwarding, no public IP needed, free HTTPS on your own domain: the pitch is real and the setup below takes twenty minutes. What the recommendations skip is that streaming video through Cloudflare's free proxy sits in a genuine terms-of-service grey zone, and I'd rather you make that call informed than discover it via a suspended account. Setup first, judgment after.

How the tunnel works

A small daemon (cloudflared) runs next to Jellyfin and opens an outbound connection to Cloudflare's edge. Visitors hit jellyfin.yourdomain.com, Cloudflare relays the traffic down that connection and no inbound port ever opens on your network. That outbound-only trick is why it defeats CGNAT connections where port forwarding is impossible, and why it needs nothing from your router.

Set it up

Prerequisites: a domain using Cloudflare's nameservers (free plan is fine) and a running Jellyfin on, say, port 8096.

Install cloudflared and authenticate

On the Jellyfin machine (Ubuntu/Debian):

curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared

The modern management flow lives in Cloudflare's Zero Trust dashboard: Networks » Tunnels » Create a tunnel, name it, and the dashboard hands you a one-line install command with the tunnel token baked in. Run it, and the connector appears green in the dashboard. (The older CLI-only flow with cloudflared tunnel create still works; the dashboard flow is easier to manage later, so it's what I'd use for a first tunnel. Cloudflare's own tunnel docs keep both current.)

Route the hostname to Jellyfin

In the tunnel's Public Hostname tab, add one: subdomain jellyfin, your domain, service http://localhost:8096. Cloudflare creates the DNS record automatically. That's the whole thing; https://jellyfin.yourdomain.com now serves your login page with a valid certificate from anywhere.

Two settings worth changing immediately

In Jellyfin's Dashboard » Networking, add the local cloudflared connection to Known proxies so real client IPs land in your logs. And in Cloudflare's dashboard, disable caching for the hostname (a page rule or cache rule set to bypass): media segments cached on Cloudflare's edge is precisely what you don't want, both for correctness and for the section below.

The ToS question, answered honestly

Cloudflare's terms have long restricted serving video and large non-web files through the CDN proxy on ordinary plans, steering that use toward paid products built for it (Stream, R2).

The 2023 terms rewrite softened the flat prohibition into product-specific language, and since then the community record is genuinely contradictory: Cloudflare staff have told individual users that personal, non-cached tunnel streaming is acceptable, while their own forum regulars point at terms language saying video streaming outside Stream/R2 remains off-limits. Both camps quote Cloudflare. That contradiction is the honest state of things in 2026 and anyone telling you it's simply fine, or simply banned, is summarizing away the mess.

But here's my practical read on the risk: enforcement historically lands on egregious bandwidth (public piracy portals, not families), a personal server for a household of viewers is a rounding error in their traffic and accounts do occasionally get warned or restricted anyway. My own position: I'll hang admin dashboards and low-bandwidth apps off Cloudflare Tunnel all day, and I keep hundreds-of-gigabytes-per-month video streaming off a free proxy whose terms I can't confidently parse. A media server deserves a front door with unambiguous rules.

What I'd use instead for the video itself

Two setups deliver the same no-port-forwarding convenience without the grey zone. Tailscale (or plain WireGuard) gives every family device a direct encrypted path to the server, no third party touching the stream; the pattern from our Tailscale remote access guide applies to Jellyfin without modification, and its only cost is installing the app on each viewing device.

The other is moving the public endpoint somewhere with no terms about media at all: a VPS with unmetered bandwidth running either the whole Jellyfin server or just a WireGuard relay back to your home box. Full ownership of the path, a static IP, a normal reverse proxy with Let's Encrypt, and every option in our Jellyfin remote access rundown becomes available without a router in sight. That's the architecture I run myself, on a LumaDock Jellyfin VPS where the unmetered part means a month of 4K remuxes changes nothing on the invoice.

So, basically: build the tunnel, it's a lovely tool and twenty minutes well spent for everything light. Point your heaviest streams through infrastructure whose rules welcome them, and you get remote Jellyfin with nothing to hope about.

Your idea deserves better hosting

24/7 support 30-day money-back guarantee Cancel anytime
Ciclo de Facturación

VPS.S1

57.82 kr Save  17 %
48.17 kr Mensual
  • 2 vCPU AMD EPYC
  • 2 GB RAMMEMORIA
  • 30 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos

VPS.S3

144.69 kr Save  33 %
96.43 kr Mensual
  • 4 vCPU AMD EPYC
  • 6 GB RAMMEMORIA
  • 70 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos

EPYC VPS.P1

86.78 kr Save  22 %
67.47 kr Mensual
  • 2 vCPU AMD EPYC
  • 4 GB RAMMEMORIA
  • 40 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

EPYC VPS.P2

164.00 kr Save  24 %
125.39 kr Mensual
  • 2 vCPU AMD EPYC
  • 8 GB RAMMEMORIA
  • 80 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

EPYC VPS.P4

289.48 kr Save  23 %
221.91 kr Mensual
  • 4 vCPU AMD EPYC
  • 16 GB RAMMEMORIA
  • 160 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

EPYC VPS.P5

386.00 kr Save  25 %
289.48 kr Mensual
  • 8 vCPU AMD EPYC
  • 16 GB RAMMEMORIA
  • 180 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

EPYC VPS.P6

579.05 kr Save  25 %
434.27 kr Mensual
  • 8 vCPU AMD EPYC
  • 32 GB RAMMEMORIA
  • 200 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

EPYC VPS.P7

675.58 kr Save  29 %
482.53 kr Mensual
  • 16 vCPU AMD EPYC
  • 32 GB RAMMEMORIA
  • 240 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

Genoa VPS.G2

241.22 kr Save  20 %
192.95 kr Mensual
  • 2 vCPUAMD EPYC Genoa de 4ª generación 9xx4 a 3,25 GHz o similar, en arquitectura Zen 4. AMD EPYC G4
  • 4 GB DDR5MEMORIA
  • 50 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

Genoa VPS.G4

434.27 kr Save  22 %
337.74 kr Mensual
  • 4 vCPUProcesador AMD EPYC con núcleos vCPU dedicados, en hardware de servidor empresarial. AMD EPYC G4
  • 8 GB DDR5MEMORIA
  • 100 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

Genoa VPS.G6

868.63 kr Save  22 %
675.58 kr Mensual
  • 8 vCPUProcesador AMD EPYC con núcleos vCPU dedicados, en hardware de servidor empresarial. AMD EPYC G4
  • 16 GB DDR5MEMORIA
  • 200 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

Genoa VPS.G7

1544.30 kr Save  22 %
1206.47 kr Mensual
  • 8 vCPUProcesador AMD EPYC con núcleos vCPU dedicados, en hardware de servidor empresarial. AMD EPYC G4
  • 32 GB DDR5MEMORIA
  • 250 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos. incluidos
  • Backup automático gratisIncluye un espacio de backup que puedes configurar para que se ejecute a diario, cada semana o cada mes.

AMD Ryzen VPS.R1

164.00 kr Save  18 %
135.04 kr Mensual
  • 1 CPU dedicada AMD Ryzen 9 7950X a 4,5 GHz o similar, en arquitectura Zen 4. vCPU
  • 4 GB DDR5MEMORIA
  • 50 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6 incluidos El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos.
  • Backup automático incluido

AMD Ryzen VPS.R2

289.48 kr Save  17 %
241.22 kr Mensual
  • 2 CPU dedicadas AMD Ryzen 9 7950X a 4,5 GHz o similar, en arquitectura Zen 4. vCPU
  • 8 GB DDR5MEMORIA
  • 100 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6 incluidos El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos.
  • Backup automático incluido

AMD Ryzen VPS.R4

1061.68 kr Save  18 %
868.63 kr Mensual
  • 8 CPU dedicadas AMD Ryzen 9 7950X a 4,5 GHz o similar, en arquitectura Zen 4. vCPU
  • 32 GB DDR5MEMORIA
  • 400 GB NVMeDISCO
  • Ancho de banda sin medir
  • IPv4 & IPv6 incluidos El soporte IPv6 no está disponible actualmente en Francia, Finlandia ni Países Bajos.
  • Backup automático incluido

FAQ

Will Cloudflare Tunnel slow down my streams?

Sometimes, and unpredictably: your traffic rides Cloudflare's routing to whichever edge location answers, which can add latency or throughput ceilings versus a direct connection. Buffering that vanishes on LAN is the classic symptom. Direct paths (VPN, VPS endpoint) remove that variable.

GPU products are in high demand at the moment. Fill the form to get notified as soon as your preferred GPU server is back in stock.