duckdns

8d8f7eba-ls94

duckdns is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. The service is completely free, and doesn't require reactivation or forum posts to maintain its existence.

docker pull lscr.io/linuxserver/duckdns:latest

Quick start

Generated from the image's own configuration. Replace the /path/to folders with real paths on your host.

---
services:
  duckdns:
    image: lscr.io/linuxserver/duckdns:latest
    container_name: duckdns
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SUBDOMAINS=subdomain1,subdomain2
      - TOKEN=token
      - UPDATE_IP=ipv4 # optional
      - LOG_FILE=false # optional
    volumes:
      - /path/to/duckdns/config:/config # optional
    restart: unless-stopped

Parameters

Environment variables
VariableFunctionRequired
PUID=1000User IDrequired
PGID=1000Group IDrequired
TZ=Etc/UTCTimezonerequired
SUBDOMAINS=subdomain1,subdomain2multiple subdomains allowed, comma separated, no spaces, if your domain is user.duckdns.org you put user, not a sub-subdomainrequired
TOKEN=tokenDuckDNS tokenrequired
UPDATE_IP=ipv4Set to `ipv6` or `ipv4` to update **only** your public IPv4/6 address. Set to `both` to update IPv6 and IPv4 address. This variable makes use of a [third-party service](#notice-regarding-automatic-detection). Omitting this variable uses DuckDNS for detection and only supports IPv4. `both` and `ipv6` modes needs [host networking](#networking-net).optional
LOG_FILE=falseSet to `true` to log to file (also need to map /config).optional
Volumes
PathFunctionRequired
/configPersistent config files. Also set `LOG_FILE=true` to keep address history.optional
Other settings
SettingFunctionRequired
network_mode: hostRuns on the host network.required

Architectures

Pulling :latest picks the right one for your host automatically.

  • x86_64amd64-latest
  • arm64arm64v8-latest

Tags

  • :latestStable releases

Changelog

  1. Rebase to Alpine 3.24.

  2. Rebase to Alpine 3.22.

  3. Rebase to Alpine 3.21.

Related

Browse all

ddclient

v4.0.0-ls236

ddclient is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider. It was originally written by Paul Burry and is now mostly by wimpunk. It has the capability to update more than just dyndns and it can fetch your WAN-ipaddress in a few different ways.

388K pulls per month182 GitHub starsarm64

adguardhome-sync

v0.9.4-ls178

adguardhome-sync is a tool to synchronize AdGuardHome config to replica instances.

188K pulls per month65 GitHub starsarm64

wireguard

1.0.20260223-r0-ls127

WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.

1M pulls per month3.6K GitHub starsarm64

The unifi-network-application software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance.

899K pulls per month1.1K GitHub starsarm64