{"id":17002885,"url":"https://github.com/minchinweb/docker-ddns","last_synced_at":"2026-01-28T21:02:30.297Z","repository":{"id":38118704,"uuid":"182825195","full_name":"minchinweb/docker-ddns","owner":"minchinweb","description":"Dynamic DNS updater for Domain-DNS.com, in Docker","archived":false,"fork":false,"pushed_at":"2024-11-27T05:06:35.000Z","size":41,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T01:51:09.111Z","etag":null,"topics":["docker-image","dynamic-dns"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minchinweb.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-22T16:23:32.000Z","updated_at":"2024-10-02T01:55:42.000Z","dependencies_parsed_at":"2024-05-28T03:52:23.466Z","dependency_job_id":null,"html_url":"https://github.com/minchinweb/docker-ddns","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-ddns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-ddns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-ddns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-ddns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minchinweb","download_url":"https://codeload.github.com/minchinweb/docker-ddns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248529033,"owners_count":21119421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","dynamic-dns"],"created_at":"2024-10-14T04:29:17.231Z","updated_at":"2026-01-28T21:02:30.267Z","avatar_url":"https://github.com/minchinweb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dynamic DNS\r\n\r\nUpdate DDNS at [Domain-DNS.com](https://domain-dns.com/)\r\n\r\n[![GitHub issues](https://img.shields.io/github/issues-raw/minchinweb/docker-ddns.svg?style=popout)](https://github.com/MinchinWeb/docker-ddns/issues)\r\n\u003c!--\r\n[![Docker Pulls](https://img.shields.io/docker/pulls/minchinweb/ddns.svg?style=popout)](https://hub.docker.com/r/minchinweb/ddns)\r\n![MicroBadger Layers](https://img.shields.io/microbadger/layers/layers/minchinweb/ddns.svg?style=plastic)\r\n![MicroBadger Size](https://img.shields.io/microbadger/image-size/image-size/minchinweb/ddns.svg?style=plastic)\r\n--\u003e\r\n\r\n## How to Use This\r\n\r\nThis is only useful if you have your DNS at\r\n[Domain-DNS.com](https://domain-dns.com/), which is only an option if you use\r\n[BareMetal.com](http://baremetal.com/) as your domain register.\r\n\r\nFor the URL you want to update, there will be a \"Remote IP Key\" listed.\r\n\r\nThen, supply the needed environmental variables in your `docker-compose.yaml`\r\nfile:\r\n\r\n      ddns:\r\n        image: ghcr.io/minchinweb/ddns:1\r\n        restart: unless-stopped\r\n        environment:\r\n          - PUID=${PUID}\r\n          - PGID=${PGID}\r\n          - DDNS_DOMAIN_NAME=\u003c\u003cyour domain name\u003e\r\n          - DDNS_KEY=\u003c\u003cRemote IP Key\u003e\u003e\r\n        volumes:\r\n          - /etc/localtime:/etc/localtime:ro\r\n\r\nAdding `localtime` as a volume will make the timestamps on your log files match\r\nyour host timezone.\r\n\r\nThen, on start up and about every 5 minutes afterwards, the IP address of your\r\nserver will be checked. If it's the same as it was before, nothing happens; if\r\nit's changes, an update request is submitted.\r\n\r\n\r\n## Why I Created This\r\n\r\nor, *What Problems is This Trying to Solve?*\r\n\r\nI have a dynamic IP address and a URL for my Docker server. Automation seems\r\nlike the smart way to keep the URL pointing to that IP address, even if that IP\r\naddress changes.\r\n\r\n## Prior Art\r\n\r\nThis is based on my [Python base\r\nimage](https://github.com/MinchinWeb/docker-python).\r\n\r\n## Known Issues\r\n\r\n- Domain-dns sets their TTL (\"Time To Live\") to 20 minutes (and there doesn't\r\n  seem to be a way to manually override that), so updates may take up to 40\r\n  minutes to show on end-users' machines.\r\n- If you still can't connect to your server after this is working, you may need\r\n  to configure port forwarding on your router. Also, your ISP may be blocking\r\n  the port you are trying to connect on.\r\n- I have no idea if this will work with any other DDNS service. Pull requests\r\n  are welcomed though.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminchinweb%2Fdocker-ddns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminchinweb%2Fdocker-ddns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminchinweb%2Fdocker-ddns/lists"}