Msg=failed updating renewal info from ACME CA - server misbehaving

1. The problem I’m having:

A few days ago, I set up Pihole and Caddy in a Docker environment so that I could access internal applications via HTTPS (instructions in c’t 2026, issue 22, page 154). Since then, the Docker-Caddy log has been reporting a large number of these error messages

msg=failed updating renewal info from ACME CA identifiers=[‘*.hmw26.de’] cert_hash=... ari_unique_id=... cert_expiry=1801463708 issuer=acme-v02.api.letsencrypt.org-directory error=provisioning client: performing request: Get ‘https://acme-v02.api.letsencrypt.org/directory’: dial tcp: lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: server misbehaving2.

3. Caddy version:

v2.11.7 h1:…

4. How I installed and ran Caddy:

Docker compose

Domain hmw26.de is hosted by Hetzner

a. System environment:

RASPI 4B with 8GB RAM

Client: Docker Engine - Community
Version:           29.9.3
API version:       1.56
Go version:        go1.26.10
Git commit:        5457199
Built:             Tue Nov  3 21:41:25 2026
OS/Arch:           linux/arm64
Context:           default

Server: Docker Engine - Community
Engine:
Version:          29.9.3
API version:      1.56 (minimum version 1.40)
Go version:       go1.26.10
Git commit:       70efc0e
Built:            Tue Nov  3 21:41:25 2026
OS/Arch:          linux/arm64
Experimental:     false
containerd:
Version:          v2.4.2
GitCommit:        b7a25261e029d68978bbf290df0a62fc819b3c51
runc:
Version:          1.5.2
GitCommit:        v1.5.2-0-g29dd3dc2
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

b. Command:

caddy run --config /etc/caddy/Caddyfile --adapter caddyfile

c. Service/unit/compose file:

services:
  pihole:
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
    environment:
      TZ: Europe/Berlin
      FTLCONF_webserver_api_password: ${PIHOLE_PASSWORD}
      FTLCONF_dns_listeningMode: all
      FTLCONF_dns_upstreams: |-
        86.54.11.13
        86.54.11.213
        1.1.1.1
        1.0.0.1
      FTLCONF_misc_dnsmasq_lines: address=/hmw26.de/192.168.178.29;local=/hmw26.de/
    volumes:
      - ./pihole:/etc/pihole
    restart: unless-stopped
    cap_add:
      - CAP_SYS_NICE
      - CAP_SYS_TIME

  caddy:
    build: ./caddy
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    environment:
      CF_API_TOKEN: ${CF_API_TOKEN}
    volumes:
      - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
    restart: unless-stopped

volumes:
  caddy_data:

d. My complete Caddy config:

Caddyfile

{
	email me@provider.com
	acme_ca https://acme-v02.api.letsencrypt.org/directory
}

*.hmw26.de {
	tls {
		dns hetzner {env.CF_API_TOKEN}
		propagation_delay 30s
		resolvers 9.9.9.9 1.1.1.1
	}

	@pihole host pihole.hmw26.de
	handle @pihole {
		redir / /admin/
		reverse_proxy pihole:80
	}

	@img host img.hmw26.de
	handle @img {
		reverse_proxy 192.168.178.29:2283
	}

	@dwi host dwi.hmw26.de
	handle @dwi {
		reverse_proxy 192.168.178.29:3000
	}

	@ptr host ptr.hmw26.de
	handle @ptr {
		reverse_proxy 192.168.178.29:9443
	}

	handle {
		abort
	}
}

Dockerfile

FROM caddy:2-builder AS builder
RUN xcaddy build --with github.com/caddy-dns/hetzner/v2

FROM caddy:2
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

5. Links to relevant resources:

ct.de/yjpc