{"id":24805512,"url":"https://github.com/kutzilla/docker-hetzner-ddns","last_synced_at":"2025-10-13T07:30:21.255Z","repository":{"id":38150414,"uuid":"413797406","full_name":"kutzilla/docker-hetzner-ddns","owner":"kutzilla","description":"A Docker image that allows you to use Hetzner DNS as a DynDNS Provider","archived":false,"fork":false,"pushed_at":"2023-10-06T17:13:16.000Z","size":71,"stargazers_count":13,"open_issues_count":7,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-06T18:27:31.654Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kutzilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-10-05T11:54:08.000Z","updated_at":"2023-10-01T05:58:30.000Z","dependencies_parsed_at":"2023-02-09T15:01:58.649Z","dependency_job_id":null,"html_url":"https://github.com/kutzilla/docker-hetzner-ddns","commit_stats":null,"previous_names":[],"tags_count":5,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutzilla%2Fdocker-hetzner-ddns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutzilla%2Fdocker-hetzner-ddns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutzilla%2Fdocker-hetzner-ddns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutzilla%2Fdocker-hetzner-ddns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kutzilla","download_url":"https://codeload.github.com/kutzilla/docker-hetzner-ddns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236310873,"owners_count":19128584,"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":[],"created_at":"2025-01-30T07:20:13.400Z","updated_at":"2025-10-13T07:30:15.657Z","avatar_url":"https://github.com/kutzilla.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/kutzilla/docker-hetzner-ddns/actions/workflows/build.yml/badge.svg)](https://github.com/kutzilla/docker-hetzner-ddns/actions/workflows/go.yml) [![Docker Pulls](https://img.shields.io/docker/pulls/kutzilla/hetzner-ddns.svg)](https://hub.docker.com/r/kutzilla/hetzner-ddns)\n\n# Docker Hetzner DDNS\n\nThis Docker image will allow you to use the [Hetzner DNS Service](https://www.hetzner.com/dns-console) as a Dynamic DNS Provider ([DDNS](https://en.wikipedia.org/wiki/Dynamic_DNS)).\n\n## How does it work?\n\nThe Go script inside this Docker Image periodically checks the DNS record with the Hetzner DNS API. It also checks the current public IP of the network, the container is running on. If the DNS record does not match the current public IP, it will update the record. Therefore your DNS record updates dynamically to the public IP.\n\n\n\n## Usage\n\nQuick Setup:\n\n```shell\ndocker run \\\n-e ZONE_NAME=example.com \\ \n-e API_TOKEN=my-secret-api-token \\\n-e RECORD_TYPE=A \\\nkutzilla/hetzner-ddns\n```\n\n\nIf you prefer command-line arguments, you can use this command: \n\n```shell\ndocker run kutzilla/hetzner-ddns example.com my-secret-api-token A\n```\n\n## Parameters\n\n\n* `-e ZONE_NAME` - The DNS zone that DDNS updates should be applied to. **Required**\n* `-e API_TOKEN` - Your Hetzner API token. **Required**\n* `-e RECORD_TYPE` - The record type of your zone. If your zone uses an IPv4 address use `A`. Use `AAAA` if it uses an IPv6 address. **Required**\n* `--restart=always` - ensure the container restarts automatically after host reboot.\n\n## Optional Parameters\n\n* `-e RECORD_NAME` - The name of the DNS-record that DDNS updates should be applied to. This could be `sub` if you like to update the subdomain `sub.example.com` of `example.com`. The default value is `@`.\n* `-e CRON_EXPRESSION` - The cron expression of the DDNS update interval. The default is every 5 minutes - `*/5 * * * *`.\n* `-e TTL` - The TTL (Time To Live) value specifies how long the record is valid before the nameservers are prompted to reload the zone file. The default is `86400`.\n\n## Build\n\nBuild the latest version of the Docker image with the following command:\n\n```\ndocker build -t kutzilla/hetzner-ddns .\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkutzilla%2Fdocker-hetzner-ddns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkutzilla%2Fdocker-hetzner-ddns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkutzilla%2Fdocker-hetzner-ddns/lists"}