54 lines
2 KiB
JSON
54 lines
2 KiB
JSON
{
|
|
"id": "cloudflare-ddns",
|
|
"name": "Cloudflare DDNS",
|
|
"description": "Keeps the homelab's public DNS records (ezequielcf.dev + wildcard subdomains) pointed at the current public IP via the Cloudflare API.",
|
|
"version": "1.17.0",
|
|
"category": "network",
|
|
"tags": ["ddns", "cloudflare", "dns", "dynamic-dns"],
|
|
"author": "favonia",
|
|
"license": "Apache-2.0",
|
|
"homepage": "https://github.com/favonia/cloudflare-ddns",
|
|
"documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/docs/README.md",
|
|
"compose": {
|
|
"image": "favonia/cloudflare-ddns:1.17.0",
|
|
"container_name": "cloudflare-ddns",
|
|
"restart": "unless-stopped",
|
|
"environment": [
|
|
"CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}",
|
|
"DOMAINS=${DOMAINS}",
|
|
"PROXIED=${PROXIED}",
|
|
"IP6_PROVIDER=${IP6_PROVIDER}",
|
|
"TZ=${TZ}"
|
|
],
|
|
"networks": ["homelab"]
|
|
},
|
|
"networks": { "homelab": { "external": true } },
|
|
"env": [
|
|
{
|
|
"name": "CLOUDFLARE_API_TOKEN",
|
|
"label": "Cloudflare API token",
|
|
"description": "Scoped token: Zone > DNS > Edit on ezequielcf.dev",
|
|
"required": true,
|
|
"secret": true
|
|
},
|
|
{
|
|
"name": "DOMAINS",
|
|
"label": "Domains to update",
|
|
"default": "ezequielcf.dev,*.ezequielcf.dev"
|
|
},
|
|
{
|
|
"name": "PROXIED",
|
|
"label": "Proxied through Cloudflare",
|
|
"description": "false = DNS-only (direct to origin, needed for direct LE HTTP-01); true = orange-cloud",
|
|
"default": "false"
|
|
},
|
|
{
|
|
"name": "IP6_PROVIDER",
|
|
"label": "IPv6 provider",
|
|
"description": "none = IPv4-only updates",
|
|
"default": "none"
|
|
},
|
|
{ "name": "TZ", "label": "Timezone", "default": "UTC" }
|
|
],
|
|
"notes": "Updates `ezequielcf.dev` (@) and the wildcard `*.ezequielcf.dev` A record whenever the public IP changes. Records are DNS-only (gray cloud) so the router DMZ -> 10.0.0.10:80/443 path serves origin traffic directly; flip PROXIED=true in the .env to route through Cloudflare instead. The API token lives only in ~/.homelab/services/cloudflare-ddns/.env."
|
|
}
|