Nginx Proxy GuardNginx Proxy Guard

DDNS (Dynamic DNS)

Keeps your domains pointed at your home server even as your residential public IP changes.

Overview

Most residential connections do not have a static public IP, so the address can change after a reboot or due to ISP policy. When that happens, a DNS record still pointing at the old IP makes your services unreachable from the outside.

The DDNS feature in Nginx Proxy Guard periodically checks your public IP and, when it detects a change, automatically updates the A record (IPv4) at your DNS provider.

Supported Providers

ProviderDescription
CloudflareAPI token-based A record updates
DuckDNSFree subdomain DDNS service
DynuAPI-Key-based DDNS via the Dynu REST API

Note: DDNS currently supports Cloudflare, DuckDNS, and Dynu. The record type is an A record (IPv4).

Enabling Per Proxy Host

DDNS is turned on and off per proxy host.

In the Basic tab of the proxy host add/edit form, configure:

FieldDescription
DDNS auto-registerToggle to enable DDNS for this host
DNS providerChoose Cloudflare, DuckDNS, or Dynu

Once enabled, all of that host's domains are registered as DDNS managed records.

Immediate first sync: Turning DDNS on and saving triggers one sync immediately, without waiting for the scheduler. The record reflects your current public IP within seconds. The sync runs in the background, so it does not slow down the save.

Managed Records and Auto-Sync

The domains of a DDNS-enabled host become managed records that automatically stay in sync with changes to the host.

Host changeManaged record behavior
Add a domainThe managed record for that domain is added
Remove a domainThe managed record for that domain is removed
Disable DDNSAll managed records are removed
Delete the hostAll managed records are removed

Important: Disabling DDNS on a host or deleting the host does not delete the actual remote DNS record at the provider (Cloudflare/DuckDNS/Dynu). Only NPG's own tracking row is removed. In addition, DDNS records created manually (not linked to a host) are never affected by this auto-sync.

Managed records are shown with a Proxy-linked badge in the list, and their hostname and provider are edited on the proxy host, not on the DDNS page.

Bulk Import From Proxy Hosts

You can enable DDNS on several hosts at once.

Use the Add from proxy hosts button on the DDNS page to:

  • Select multiple existing proxy hosts
  • Pick a provider (Cloudflare/DuckDNS/Dynu)
  • Enable DDNS on all selected hosts in one action

Refresh Interval

On the DDNS page you can set how often the scheduler checks the public IP and updates records.

SettingDescriptionMinimum
Refresh interval (minutes)How often the public IP is checked and records updated1

A shorter interval reacts to IP changes faster, but too short adds unnecessary checks. For a typical residential connection, a few minutes is plenty.

DDNS Check in the Config Test

A proxy host's Config test includes a DDNS section.

  • Validates the DNS provider credentials (read-only — it does not change any record)
  • Shows the last sync status: IP, time, and success/error

This lets you quickly tell whether a DDNS issue is a credentials problem or a sync error.

Where to Find It

The DDNS feature lives under the Certificates → DDNS tab (not under Settings).

From this page you can:

  • View the list of managed and manual records
  • Bulk import from proxy hosts
  • Set the refresh interval

Managed records are distinguished by a Proxy-linked badge, and their hostname and provider are edited on the linked proxy host. Only manual records are managed directly on the DDNS page.

Nginx Proxy Guard - Modern & Secure Nginx Proxy Manager