I try to use duckdns with wildcard domains. Lets say i have mydom.duckdns.org and i want to reach out to my wiki server via https://wiki.mydom.duckdns.org and another server via https://ipcheck.mydom.duckdns.org
I am very confused about all this possible settings and after days/weeks i thought i might ask if someone can help me with this.
I found also caddy-dns/duckdns but not very clear if this would help (see links)
2. Error messages and/or full log output:
<!--
Please DO NOT REDACT any information except credentials. Leave domain names intact!
Please DO NOT POST TRUNCATED LOG LINES as systemd is notorious for this.
Please USE THIS COMMAND TO VIEW LOGS with systemd:
$ journalctl -u caddy --no-pager | less +G`
Please DO NOT USE WEB BROWSERS. Use `curl -vL` instead.
Please ENABLE DEBUG MODE FIRST by adding "debug" to the global options of your Caddyfile. See https://caddyserver.com/docs/caddyfile/options#debug for an example.
-->
INF ts=1747193646.346666 logger=http msg=using ACME account account_id=https://acme-staging-v02.api.letsencrypt.org/acme/acct/199755364 account_contact=[]
ERR ts=1747193646.9855785 logger=tls.obtain msg=could not get certificate from issuer identifier=*.mydom.duckdns.org issuer=acme-v02.api.letsencrypt.org-directory error=[*.mydom.duckdns.org] solving challenges: *.mydom.duckdns.org: no solvers available for remaining challenges (configured=[http-01 tls-alpn-01] offered=[dns-01] remaining=[dns-01]) (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/199755364/24613652004) (ca=https://acme-staging-v02.api.letsencrypt.org/directory)
ERR ts=1747193646.9856243 logger=tls.obtain msg=will retry error=[*.mydom.duckdns.org] Obtain: [*.mydom.duckdns.org] solving challenges: *.mydom.duckdns.org: no solvers available for remaining challenges (configured=[http-01 tls-alpn-01] offered=[dns-01] remaining=[dns-01]) (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/199755364/24613652004) (ca=https://acme-staging-v02.api.letsencrypt.org/directory) attempt=3 retrying_in=120 elapsed=182.790409169 max_duration=2592000
[details="Summary"]
This text will be hidden
[/details]
3. Caddy version:
v2.10.0
4. How I installed and ran Caddy:
a. System environment:
rasperry pi 5
Debian GNU/Linux 12 (bookworm)
using docker compose v2.35.1
docker community in version 28.1.1
When reading the documentation it seems that i need a Module for duckdns
dns.providers.duckdns
but it is very unclear for me on how to implement this in a docker container. https://caddyserver.com/docs/extending-caddy
unclear if i need to build something with xcaddy or when i download it from https://caddyserver.com/download
the how to get it into the container?
You can find pre-built Caddy + DuckDNS Docker images on DockerHub or GitHub, or you can build your own. Here’s an example of a Dockerfile you can use:
FROM caddy:latest AS builder
RUN xcaddy build \
--with github.com/caddy-dns/duckdns
FROM caddy:latest
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
You can also search this forum - plenty of folks run Caddy with DuckDNS, and there are lots of examples you can draw from.
Hello,
thanks for your help. Build is now working. Maybe this help someone else. First installing go. For this get the file with wget in your current directory
With this i was ready to create my own caddy image. Dockerfile i had created
# First try to build my own caddy image
FROM caddy:builder AS builder
# MAINTAINER User <user@mailserver.net>
RUN xcaddy build \
--with github.com/caddy-dns/duckdns
FROM caddy:latest
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
Then build it with:
docker build --tag 250520-caddy:1.0.0 .
The name 250520-caddy:1.0.0 is the name:version i gave to it.
Then you need to modify the docker compose to use this and change your Caddyfile.
It works for me. Many thanks