Bug: cloudflare updating always all DNS records of domain #442

Open
opened 2025-11-20 04:24:07 -05:00 by saavagebueno · 1 comment
Owner

Originally created by @sunbrolynk on GitHub (Sep 24, 2024).

I have been using this and loving it.

Recently i decided i wanted to run a 2nd system at a friends house, and setup my basic stack with this included to monitor the only subdomain i wanted to be using his public.

I have 2 issues.

  1. on my home system i removed the specified subdomain entry from my list, and it does not show up on the GUI, and is not called out in the log, and yet when the rest of the subdomains are updated this one is as well.

  2. on my buddies system the system says it is running with no issues, but the first time it went off, despite being set to only the one subdomain, it updated all of them, since then i have gotten the one on my system updating again, and now even when restarting the container, it does not actually check, it says the IP is up to date on the UI but the log doesn't even show it checking, and despite being set to 5m intervals, it has not checked currently in 8 hours.

I'm sure its something I am doing wrong, so would just appreciate some help with whatever i messed up, my google work hasn't turned anything up for me yet, and didn't see a similar issue on here.

my config and compose files are the same on both systems

services:
  ddns-updater:
    image: qmcgaw/ddns-updater
    container_name: ddns-updater
    user: "0:0"
    network_mode: bridge
    ports:
      - 8000:8000/tcp
    volumes:
      - /docker/ddns-updater/data:/updater/data
    environment:
      - PERIOD=1m
      - UPDATE_COOLDOWN_PERIOD=5m
      - PUBLICIP_FETCHERS=all
      - PUBLICIP_HTTP_PROVIDERS=all
      - PUBLICIPV4_HTTP_PROVIDERS=all
      - PUBLICIPV6_HTTP_PROVIDERS=all
      - PUBLICIP_DNS_PROVIDERS=all
      - PUBLICIP_DNS_TIMEOUT=3s
      - HTTP_TIMEOUT=10s

      # Web UI
      - LISTENING_ADDRESS=:8000
      - ROOT_URL=/

      # Backup
      - BACKUP_PERIOD=0 # 0 to disable
      - BACKUP_DIRECTORY=/updater/data

      # Other
      - LOG_LEVEL=info
      - LOG_CALLER=hidden
      #- SHOUTRRR_ADDRESSES=
    restart: always
 "settings": [
   {
     "provider": "cloudflare",
     "zone_identifier": "xxxxxxx",
     "domain": "example.com",
     "host": "x,x,x",
     "ttl": 1,
     "email": "xxx@example.com",
     "key": "xxxxxx",
     "proxied": true,
     "ip_version": "ipv4",
     "ipv6_suffix": ""
   }
 ]
}

i removed the commented out config line in the compose file to clean up the visuals on this

Originally created by @sunbrolynk on GitHub (Sep 24, 2024). I have been using this and loving it. Recently i decided i wanted to run a 2nd system at a friends house, and setup my basic stack with this included to monitor the only subdomain i wanted to be using his public. I have 2 issues. 1) on my home system i removed the specified subdomain entry from my list, and it does not show up on the GUI, and is not called out in the log, and yet when the rest of the subdomains are updated this one is as well. 2) on my buddies system the system says it is running with no issues, but the first time it went off, despite being set to only the one subdomain, it updated all of them, since then i have gotten the one on my system updating again, and now even when restarting the container, it does not actually check, it says the IP is up to date on the UI but the log doesn't even show it checking, and despite being set to 5m intervals, it has not checked currently in 8 hours. I'm sure its something I am doing wrong, so would just appreciate some help with whatever i messed up, my google work hasn't turned anything up for me yet, and didn't see a similar issue on here. my config and compose files are the same on both systems ```yml services: ddns-updater: image: qmcgaw/ddns-updater container_name: ddns-updater user: "0:0" network_mode: bridge ports: - 8000:8000/tcp volumes: - /docker/ddns-updater/data:/updater/data environment: - PERIOD=1m - UPDATE_COOLDOWN_PERIOD=5m - PUBLICIP_FETCHERS=all - PUBLICIP_HTTP_PROVIDERS=all - PUBLICIPV4_HTTP_PROVIDERS=all - PUBLICIPV6_HTTP_PROVIDERS=all - PUBLICIP_DNS_PROVIDERS=all - PUBLICIP_DNS_TIMEOUT=3s - HTTP_TIMEOUT=10s # Web UI - LISTENING_ADDRESS=:8000 - ROOT_URL=/ # Backup - BACKUP_PERIOD=0 # 0 to disable - BACKUP_DIRECTORY=/updater/data # Other - LOG_LEVEL=info - LOG_CALLER=hidden #- SHOUTRRR_ADDRESSES= restart: always ``` ```json "settings": [ { "provider": "cloudflare", "zone_identifier": "xxxxxxx", "domain": "example.com", "host": "x,x,x", "ttl": 1, "email": "xxx@example.com", "key": "xxxxxx", "proxied": true, "ip_version": "ipv4", "ipv6_suffix": "" } ] } ``` i removed the commented out config line in the compose file to clean up the visuals on this
Author
Owner

@qdm12 commented on GitHub (Nov 21, 2024):

it does not actually check, it says the IP is up to date on the UI but the log doesn't even show it checking, and despite being set to 5m intervals, it has not checked currently in 8 hours.

Try with LOG_LEVEL=debug. Otherwise it doesn't log anything if nothing changed from last check.
Having the logs set to debug also logs all the http requests/responses which can be useful to debunk what's going wrong.

The cloudflare code does things using record ids, so I doubt it would mix up updates and all, but let's find out with your logs!

@qdm12 commented on GitHub (Nov 21, 2024): > it does not actually check, it says the IP is up to date on the UI but the log doesn't even show it checking, and despite being set to 5m intervals, it has not checked currently in 8 hours. Try with `LOG_LEVEL=debug`. Otherwise it doesn't log anything if nothing changed from last check. Having the logs set to debug also logs all the http requests/responses which can be useful to debunk what's going wrong. The cloudflare code does things using record ids, so I doubt it would mix up updates and all, but let's find out with your logs!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ddns-updater#442