A self-hosted Dynamic DNS solution similar to DynDNS or NO-IP.
1.5K
ddns - Dynamic DNSA self-hosted Dynamic DNS solution similar to DynDNS or NO-IP.
You can use a hosted version at ddns.pboehm.de where you can register a
host under the d.pboehm.de domain (e.g test.d.pboehm.de).
Recent Changes
ddns has been fully restructured and now uses the PowerDNS
Remote Backend instead
of the Pipe Backend, which
is far easier to deploy. It now serves both the frontend and the backend over HTTP using different ports.
The old ddns source code can be found at the legacy tag.
ddns is built around a small webservice, so that you can update your IP address simply by calling
an URL periodically through curl. Hosts that haven't been updated for 10 days will
be automatically removed. This can be configured in your own instance.
An API similar to DynDNS/NO-IP has not been implemented yet.
NS records for subdomains. This is important because not all
DNS providers support this.53/udp80/tcp443/tcpFor the domain you want to use with ddns (example.net in the following sections, please adjust this to your domain)
you have to create the following two DNS records:
ddns.example.net as a CNAME or A/AAAA record pointing to the server ddns will be running on. This record
will be used for accessing the ddns frontend in your browser or via curl. It is also the target for the
corresponding NS record.d.example.net as an NS record pointing to the previously created ddns.example.net record. This will delegate
all subdomains under d.example.net to the PowerDNS server running on ddns.example.net.ddns-SetupThe setup is now automated using docker-compose and only some customization has
to be made in a docker-compose.override.yml file
(a sample is available here).
The setup included in this repository contains all the components described above and uses caddy as a web server, because it provides automatic HTTPS using Lets Encrypt.
git clone [email protected]:pboehm/ddns.git
cd ddns/docker
cp docker-compose.override.yml.sample docker-compose.override.yml
Please adjust the settings in docker-compose.override.yml marked with the #<<< .... comments as follows:
# <<< ADJUST DOMAIN according to your DNS-Setup# <<< INSERT EMAIL which is required for getting certificates
from Lets EncryptFinally execute the following docker-compose command, which creates 4 containers in detached mode which are also
started automatically after reboot. For updating an existing installation use the same command because it automatically
rebuilds the containers.
docker-compose --project-name ddns up -d --build
Content type
Image
Digest
Size
131.4 MB
Last updated
almost 5 years ago
docker pull pboehm/ddns