No-IP Linux DUC for Docker


The No-IP Dynamic Update Client (DUC) for Docker is a handy tool that automates the process of keeping your dynamic IP address in sync with your No-IP hostname(s).

This docker image is based on our Official Linux DUC version 3 which you can read more about here.

Setup

1. Install Docker.

2. Pull the docker container from Github Container Registry (GHCR)

docker pull ghcr.io/noipcom/noip-duc:latest

We have images for AMD64, ARMv7 (armhf) and ARM64 available.

3. Create an .env file (e.g. noip-duc.env) in a safe place, which includes your No-IP credentials.

For security and convenience, it’s best to store your No-IP credentials in an environment file (.env) rather than entering them directly in the command line. Since you are storing sensitive information here, make sure you set the permissions appropriately, ideally 0600

These environment variables can be passed to docker with –env-file or to docker-compose as env_file: Docker compose will also look for a .env file in the same directory.

Example configuration file (noip-duc.env):

# noip-duc.env with DDNS Key
NOIP_USERNAME=DdnsKeyUser
NOIP_PASSWORD=DdnsKeyPass
NOIP_HOSTNAMES=all.ddnskey.com
Note that with DDNS Keys, you do not need to specify a hostname in your configuration. all.ddnskey.com is used in place of a hostname and will update all hostnames linked to that DDNS Key.

Make sure to replace DdnsKeyUser, DdnsKeyPass, with your DDNS Key credentials.

4. Run the Docker container with the environment file with the following command:

docker run -d --env-file noip-duc.env --name noip-duc ghcr.io/noipcom/noip-duc:latest

Note: There are additional Environment Variables which can be viewed by running

docker run noip-duc --help

IPv6

To update your host to an IPv6 address you will need to create a new hostname as an AAAA (IPv6) type. You can read more about that here.

To enable No-IP’s IPv6 update method add the following line to your ENV file:

IP_METHOD=http://ip1.dynupdate6.no-ip.com/

Frequently Asked Questions (FAQ)

You can verify the update client’s status by checking the container logs. Use this command to see the logs:

docker logs noip-duc
If you need to change your No-IP credentials or hostname, simply update your environment file with the new values and restart the container using:

docker restart noip-duc
Need help?

Encountered a problem or have questions? Check our Github Issues page for previously reported bugs, and don’t hesitate to create a Support Ticket. We’re here to help you out!

Contribution

We love open-source and welcome any contributions. If you find a bug or want to suggest an improvement, feel free to create a pull request or an issue. Or you can always send your feedback to our support team at support@noip.com.