How to Set Up Dynamic DNS for a Home Plex or Jellyfin Server

black and white picture of someone typing on a laptop with icons above it.

TL;DR

  • Dynamic DNS (DDNS) gives your media server a fixed address, even when your ISP keeps changing your IP.
  • Setup takes four steps: create a hostname, run an update client, forward the port, and point the app at the name.
  • Most failures come down to a stopped update client, a changed internal IP, a port that was never open, or a server that’s crashed or switched off.

You’re on a friend’s couch, three states from home, telling them about the concert film you ripped last month. You pull up your server on their TV. It spins, times out, and then serves you the login page for a stranger’s router.

Somewhere in the last two weeks, your ISP moved your public IP address. Nobody told you.

Dynamic DNS fixes this for good. You get one name that always points to your house, your media server sits behind it, and you stop copying IP addresses into a notes app. Here’s the whole setup, start to finish, in a form you can follow tonight.

What Dynamic DNS Actually Fixes for a Media Server

Plex and Jellyfin both run on hardware in your house. To reach them from anywhere else, something has to translate a name into your home’s current public IP address.

The catch is that most residential connections get a dynamic IP address. It can change on a lease renewal, a modem reboot, or an outage. A static IP from your ISP solves the problem too, but it usually adds a monthly charge, and not every provider will sell you one.

Dynamic DNS is the cheaper path. You pick a hostname, and something on your network watches for IP changes. When your address moves, the hostname follows it within seconds, so your server stops being a moving target.

That’s the whole idea. Now for the steps.

Step 1: Create the Hostname

Sign up for a free No-IP account. No credit card required. In the dashboard, go to Managed DNS > DNS Records and click the green Create Hostname button.

Type the name you want and pick a domain from the drop-down. Leave the record type as A unless you have a specific reason to change it. The IPv4 field should already show your current public address.

Check Enable Dynamic DNS, then click Create.

Step 2: Choose What Handles IP Updates

As soon as you create the hostname, No-IP prompts you to set up updates. Click Generate DDNS Key.

Copy the DDNS Key password somewhere safe right away. That screen is the only time you’ll see it.

Next, decide what does the updating. You have two good options, and you only need one.

Option A: Run the Dynamic Update Client

Download the Dynamic Update Client (DUC) for Windows, Mac, or Linux, and install it on a machine that stays on at home. Your Plex or Jellyfin server is usually the best candidate, since it’s already running around the clock. Sign in with your DDNS Key username and password.

Because you’re using a DDNS Key, set the hostname to update as all.ddnskey.com. The client then keeps the hostname you created in Step 1 pointed at your current IP.

Option B: Let your router do it

Most consumer routers list No-IP as a built-in DDNS provider. Log in to the router, open Advanced > DDNS (sometimes labeled Dynamic DNS), and fill in:

  • DDNS provider: No-IP
  • Username: your DDNS Key username
  • Password: your DDNS Key password
  • Hostname: all.ddnskey.com
  • Server: dynupdate.no-ip.com

Some routers don’t ask for the server address. It works fine either way.

Of the two options, the router is the more reliable. It doesn’t go to sleep, reboot for an OS update, or get carried off to a coffee shop.

Step 3: Forward the Port Your Server Listens On

Your hostname now finds your house, but it can’t get past your router’s firewall yet. For that, you need a port forwarding rule.

Log in to your router and open Advanced > Port Forwarding (some routers call it Virtual Server). Name the rule, set the protocol to TCP/UDP or Both, then enter your media server’s internal IP address and the port.

The port depends on which server you run.

Plex. Plex Media Server always listens on internal port 32400. Forward whichever external port you choose to port 32400 on the machine running Plex.

Jellyfin. Jellyfin defaults to 8096/TCP for HTTP and 8920/TCP for HTTPS. HTTPS stays off until you configure a certificate, and you can change both ports on the Networking page of the admin dashboard. Port 7359/UDP handles client discovery on your local subnet only, so keep it closed to the internet.

A word on security: Jellyfin’s own documentation calls direct port forwarding the least secure way to set up remote access. It recommends putting a reverse proxy in front of the server to handle HTTPS instead. That advice applies to Plex too.

Then verify. Go to portchecktool.com, enter the port you forwarded, and run the check. If it doesn’t report the port as open, nothing downstream will work, so fix it here before you touch the app.

Step 4: Point Plex or Jellyfin at the Hostname

Plex. Open Settings > Network and add a custom server access URL. Use the full address, including the scheme and port. If you leave the port off, Plex uses the one mapped on your Remote Access page.

Jellyfin. Open Networking in the admin dashboard. Set Local Networks in CIDR notation so the server knows which addresses count as home, then confirm the global toggle under Remote Access Settings. Remote access is also set per user, under Users > Edit User > Allow remote connections to this server.

Finally, test it the way a guest would: turn off Wi-Fi on your phone and connect over cellular data.

Six Places This Setup Breaks

  1. The update client stopped. It was running on a laptop that got closed. Move it to the router, or to the always-on machine running your media server.
  2. The server’s internal IP changed. Your DHCP server handed it a new address, and the forwarding rule now points at a smart bulb. Set a DHCP reservation for the server.
  3. The port was never open. Check it at portchecktool.com before you blame anything else.
  4. There are two routers. If your ISP gateway is still routing and your own router sits behind it, you have double NAT. Put the gateway in bridge mode, or create the forward on both devices.
  5. Your ISP uses CGNAT. Some ISPs put customers behind Carrier-Grade NAT (CGNAT), where no port forward you create will help. A tunnel is the way through.
  6. The server is off. A crashed service, a power blip, or a sleep setting takes the server offline, and every other fix stops mattering. Set the machine to never sleep and the media server to start on boot.

When Port Forwarding Isn’t an Option

If you can’t touch your router, or your ISP won’t give you a routable address, No-IP’s Public Tunnels reach your server with no port forwarding at all. Public Tunnels is currently included with Enhanced and Pro plans and supports HTTP and HTTPS traffic only.

Set It Up Tonight

Twenty minutes of setup gets you a server address that outlasts every IP change your ISP throws at it. Claim the name, get the updater running, and then go watch something.

Start with a free hostname, and keep the getting started guide open in the next tab.

Frequently Asked Questions

Do I need Dynamic DNS for Plex?

Not strictly, but it helps. Plex can connect remote apps to your server through your Plex account without a hostname. A Dynamic DNS hostname gives you a stable address you control, which you can use for Plex’s custom server access URL, a reverse proxy, or anything else you host at home.

Do I need Dynamic DNS for Jellyfin?

Yes, if you want to reach Jellyfin from outside your home network without a tunnel or VPN. Jellyfin has no central account service that finds your server for you, so remote clients need an address to connect to. A DDNS hostname keeps that address current every time your ISP changes your IP.

Is No-IP Dynamic DNS free?

Yes. A free No-IP account includes a Dynamic DNS hostname and doesn’t require a credit card.

What port does Plex use for remote access?

Plex Media Server listens on port 32400. In your router, forward the external port you choose to internal port 32400 on the machine running Plex.

What ports does Jellyfin use?

Jellyfin uses 8096/TCP for HTTP and 8920/TCP for HTTPS by default, and you can change both in the admin dashboard. Port 7359/UDP handles client discovery on your local network only, so keep it closed to the internet.

Is it safe to port forward Plex or Jellyfin?

Direct port forwarding works, but it’s the least secure way to set up remote access. Jellyfin’s documentation recommends putting a reverse proxy in front of the server to handle HTTPS, and the same advice applies to Plex. Keep your server software updated and use a strong password on every account.

Should I run the DDNS update client on my router or my media server?

Use your router if it supports No-IP. A router stays on around the clock and doesn’t sleep or reboot for OS updates. If your router doesn’t support No-IP, install the Dynamic Update Client on your always-on Plex or Jellyfin server.

Why can’t I reach my server when my hostname shows the right IP?

The problem is almost always past DNS. Check the forwarded port at portchecktool.com, confirm the forwarding rule points at the server’s current internal IP, and make sure the server is on. If you have an ISP gateway and your own router, you may also need to fix a double NAT setup.

How do I know if my ISP uses CGNAT?

Compare the WAN IP address on your router’s status page with your public IP. If the router’s WAN address falls between 100.64.0.0 and 100.127.255.255, you’re behind Carrier-Grade NAT (CGNAT), and port forwarding won’t work. If it’s a private address like 192.168.x.x, another router sits in front of yours (double NAT).

Can I access Plex or Jellyfin remotely without port forwarding?

Yes. No-IP Public Tunnels connects outside traffic to your server without opening any ports on your router, and it works behind CGNAT. Public Tunnels is currently included with Enhanced and Pro plans and supports HTTP and HTTPS traffic only.