The problem: Dynamic IP address

Most internet providers assign a dynamic IP address. This means your address changes:

  • After router restart
  • After PPPoE session disconnection
  • Randomly every few days/weeks
Without a static address, it's difficult to connect to your home server from outside.

---

The solution: Dynamic DNS

No-IP.pl allows you to assign a permanent name (e.g. myhomelab.no-ip.pl) to your changing IP address.

How it works:

  1. Register at No-IP.pl and create a host myhomelab.no-ip.pl
  2. Configure a DDNS client on your router or server
  3. When your IP changes, the client automatically updates the DNS record
  4. Always connect via myhomelab.no-ip.pl

Step by step: Configuration

1. Create an account and host

  1. Register at No-IP.pl (free)
  2. In the panel, create a new host, e.g. myhomelab.no-ip.pl
  3. Save your login credentials - you'll need them for the client

2. Configure the DDNS client

On the router (recommended):

Most routers have built-in DDNS support. Look in settings for "Dynamic DNS" or "DDNS" section:

Server: update.no-ip.pl
Protocol: DynDNS / Custom
Host: myhomelab.no-ip.pl
Username: your_login
Password: your_password

On Linux server (ddclient):

Installation

sudo apt install ddclient

Configuration /etc/ddclient.conf

protocol=dyndns2 server=update.no-ip.pl login=your_login password=your_password myhomelab.no-ip.pl

Docker (universal):

docker-compose.yml

services: ddns: image: qmcgaw/ddns-updater environment: - CONFIG={"settings":[{"provider":"noip","domain":"myhomelab.no-ip.pl","host":"@","username":"your_login","password":"your_password"}]}

3. Forward ports

In your router settings, forward ports to your server:

| Service | Port | Protocol | |---------|------|----------| | Nextcloud | 443 | TCP | | Plex | 32400 | TCP | | Home Assistant | 8123 | TCP | | SSH | 22 | TCP | | WireGuard VPN | 51820 | UDP |

4. SSL Certificate (Let's Encrypt)

No-IP.pl domains support Let's Encrypt. Use Certbot or the built-in mechanism in your application:

Certbot (standalone)

sudo certbot certonly --standalone -d myhomelab.no-ip.pl

Or through reverse proxy (Traefik, Caddy, nginx-proxy)

---

Example configurations

Nextcloud - Private cloud

Host: cloud.no-ip.pl
Port: 443
Reverse proxy: Traefik or Caddy
SSL: Let's Encrypt (automatic)

Access from your phone via the Nextcloud app - enter https://cloud.no-ip.pl as the server address.

Plex - Media server

Host: plex.no-ip.pl
Port: 32400
SSL: Built into Plex

In Plex settings → Remote Access → enter plex.no-ip.pl as the external address.

Home Assistant - Smart home

Host: home.no-ip.pl
Port: 8123
SSL: Let's Encrypt via add-on

Configure access through Nabu Casa or directly via your No-IP.pl domain.

---

Security tips

  1. Always use HTTPS - don't expose services on plain HTTP
  2. Strong passwords - use a password manager
  3. 2FA - enable two-factor authentication where possible
  4. Updates - regularly update your software
  5. Firewall - only open necessary ports
  6. VPN - consider VPN access instead of exposing each service separately

Alternative: VPN to entire network

Instead of exposing each service separately, you can run a VPN server and connect to your entire home network:

Host: vpn.no-ip.pl
Service: WireGuard
Port: 51820/UDP

After VPN connection, you have access to all devices on your local network - as if you were at home.

---

Summary

A homelab with Dynamic DNS gives you:

  • Full control over your data (not in someone else's cloud)
  • Remote access from anywhere
  • No monthly hosting fees
  • Opportunity to learn server administration
Start with a free account and launch your first home server today.

---

Need help? Check our FAQ or email This email address is being protected from spambots. You need JavaScript enabled to view it.