selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
docker-ddns logo

Self-host docker-ddns

1.5.0

Dynamic DNS server with Docker, Go and Bind9

ReleaseOpen SourceMIT
Updated4 years ago
LanguageGo
Setup difficultyModerate
Stars
672
Ports
53 (DNS (TCP)), 8080 (Management REST API)
Docker
davd/docker-ddns
Install with Docker
docker-ddns screenshot 1

What is docker-ddns?

A self-hosted dynamic DNS solution that runs in Docker using Go and Bind9. It provides a REST API and DynDNS-compatible endpoints for routers and clients like ddclient. You need a VPS, domain, and nameserver access. The container exposes DNS on ports 53 (TCP/UDP) and a management API on port 8080. Configuration is via environment variables (SHARED_SECRET, ZONE, RECORD_TTL). Last release was 1.5.0 in 2020, with no updates since 2022.

docker-ddns alternatives

Should you self-host docker-ddns?

docker-ddns scores 47/100 on selfhost.directory (how scoring works) and ranks #20 of 31 in Networking. It has 672 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is headscale (82/100, 45 188 stars). It scores higher overall, so compare the two before you pick. See docker-ddns vs headscale side by side.

Features

  • DNS delegation support
  • DynDNS-compatible API
  • IPv4 and IPv6 Support
  • Multiple domain updates
  • Persistent DNS storage
  • REST API

docker-ddns README

Dynamic DNS with Docker, Go and Bind9

DockerHub build status Travis build status

This package allows you to set up a dynamic DNS server that allows you to connect to devices at home from anywhere in the world. All you need is a cheap VPS, a domain and access to it's nameserver.

How to install docker-ddns

Install docker-ddns with Docker

Environment variables
SHARED_SECRET, ZONE, RECORD_TTL

docker run -it -d
-p 8080:8080
-p 53:53
-p 53:53/udp
-e SHARED_SECRET=changeme
-e ZONE=example.org
-e RECORD_TTL=3600
--name=dyndns
davd/docker-ddns:latest

Requires a VPS, domain, and nameserver access. Port 53 must be available (may conflict with systemd-resolved).

How to configure docker-ddns

  • SHARED_SECRETchangemeShared secret for API authentication
  • ZONEexample.orgDNS zone/domain to manage
  • RECORD_TTL3600TTL for DNS records in seconds

docker-ddns releases & version history

More in Network Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…