{"id":22820742,"url":"https://github.com/jbbodart/gandi-livedns","last_synced_at":"2025-08-10T11:32:07.380Z","repository":{"id":49397641,"uuid":"109499826","full_name":"jbbodart/gandi-livedns","owner":"jbbodart","description":"The purpose of this container is to update DNS zone records using Gandi's LiveDNS (http://doc.livedns.gandi.net/) with your WAN IP.","archived":false,"fork":false,"pushed_at":"2024-02-04T21:55:53.000Z","size":42,"stargazers_count":23,"open_issues_count":2,"forks_count":12,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-31T09:12:04.068Z","etag":null,"topics":["dns-record","docker","gandi-livedns"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbbodart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-04T14:06:39.000Z","updated_at":"2024-04-05T05:02:03.000Z","dependencies_parsed_at":"2022-09-04T15:40:09.931Z","dependency_job_id":null,"html_url":"https://github.com/jbbodart/gandi-livedns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbbodart%2Fgandi-livedns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbbodart%2Fgandi-livedns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbbodart%2Fgandi-livedns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbbodart%2Fgandi-livedns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbbodart","download_url":"https://codeload.github.com/jbbodart/gandi-livedns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229406136,"owners_count":18068002,"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":["dns-record","docker","gandi-livedns"],"created_at":"2024-12-12T15:27:08.342Z","updated_at":"2024-12-12T15:27:10.236Z","avatar_url":"https://github.com/jbbodart.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# gandi-livedns\n\nThe purpose of this container is to update DNS zone records using Gandi's LiveDNS (http://doc.livedns.gandi.net/) with your WAN IP.\n\nThis image is extremely lightweight  (Alpine Linux based) and has very few dependencies. The actual DNS update program is coded in shell script only.\n\n***Warning : update scripts have been updated to use Gandi's Personal Access Tokens (PATs).***\n\nYou need to create a new Personal Access Token for this application, with at least the \"Manage domain name technical configurations\" premissions.\nSee https://api.gandi.net/docs/authentication/\n\n## Configuration\nMandatory variables:\n* GANDI_PAT: your Gandi Personal Acces Token (be sure to enable \"Manage domain name technical configurations\")\n* APIKEY: *deprecated* provided for backward compatibility. Value will be used as GANDI_PAT if provided\n* DOMAIN: your Gandi domain\n* RECORD_LIST: DNS records to update separated by \";\"\n\nOptional variables :\n* REFRESH_INTERVAL: Delay between updates in seconds (default: 10mn)\n* TTL: Set Time To Live for records (default: 300)\n* SET_IPV4: Update A record (default: yes)\n* SET_IPV6: Update AAAA record (default: no)\n* FORCE_IPV4: Force the IPv4 address to be used in DNS A records\n* FORCE_IPV6: Force the IPv6 address to be used in DNS AAAA records\n\n## Examples\nThe easiest way to run gandi-livedns is simply to *docker run* it from a computer in your network, leaving it running in the background with all the default settings.\n```sh\ndocker run -d \\\n\t-e \"GANDI_PAT=\u003cYOUR_VERY_SECRET_PERSONAL_ACCESS_TOKEN\u003e\" \\\n\t-e \"RECORD_LIST=blog;www;@\" \\\n\t-e \"DOMAIN=your-gandi-hosted-domain.com\" \\\n\tjbbodart/gandi-livedns\n```\nThis will update **blog.your-gandi-hosted-domain.com**, **www.your-gandi-hosted-domain.com**, and **your-gandi-hosted-domain.com** with your internet-facing IP (IPv4) every 10 minutes\n\nAn equivalent setup using docker-compose could look like this:  \n**docker-compose.yml**\n```yml\nversion: '3.7'\n...\n    services:\n    ...\n        dyndns:\n            image: jbbodart/gandi-livedns\n            restart: unless-stopped\n            env_file:\n                - \"dyndns.env\"\n```\n\n**dyndns.env**\n```properties\nGANDI_PAT=\u003cYOUR_VERY_SECRET_PERSONAL_ACCESS_TOKEN\u003e\nRECORD_LIST=blog;www;@\nDOMAIN=your-gandi-hosted-domain.com\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbbodart%2Fgandi-livedns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbbodart%2Fgandi-livedns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbbodart%2Fgandi-livedns/lists"}