Xcaddy build on Ubuntu 24.04 seems to not enable Plugins properly

1. The problem I’m having:

Hello everybody
Im a long time caddy user and love it. I’ve setup a homelab server and run a seperate Oracle Server. I created a Script to build xcaddy and put it into /usr/bin, so I always run the latest version with Plugins. On the Setup of my new Homelab Ubuntu 24.04 I noticed, that xcaddy is telling me its fetching the Github Repos, but its clearly not building properly the packages. When I set it up on my Oracle server some months ago, it worked perfect. Now I encountered this bug on both my machines (Oracle and Homelab).

It seems the Plugins are compiled, because I get no startup error or Config complaints. When I config them in my Caddyfile, no complaints, but the Plugins themself dont seem to work anymore. I use Cloudflare and when I add a new host, the DNS Entrys are not created by themselfs on Cloudflare after a caddy restart. The same for GeoIP, it does not work on the xcaddy build.

When I build Caddy from the Website with the Plugins, it works flawless.

What I noticed is, that the Size is way larger, when I build it on the Website. The compiled Server Version was on amd64 43.2MB, while on the Website Version 48MB

xcaddy build

Website build
Website build

2. Error messages and/or full log output:

xcaddy build \
    --with github.com/caddy-dns/cloudflare \
    --with github.com/porech/caddy-maxmind-geolocation \
    --with github.com/ueffel/caddy-brotli

2026/01/25 19:20:40 [INFO] absolute output file path: /opt/xcaddy/caddy
2026/01/25 19:20:40 [INFO] Temporary folder: /tmp/buildenv_2026-01-25-1920.3958507674
2026/01/25 19:20:40 [INFO] Writing main module: /tmp/buildenv_2026-01-25-1920.3958507674/main.go
package main

import (
        caddycmd "github.com/caddyserver/caddy/v2/cmd"

        // plug in Caddy modules here
        _ "github.com/caddyserver/caddy/v2/modules/standard"
        _ "github.com/caddy-dns/cloudflare"
        _ "github.com/porech/caddy-maxmind-geolocation"
        _ "github.com/ueffel/caddy-brotli"
)

func main() {
        caddycmd.Main()
}
2026/01/25 19:20:40 [INFO] Initializing Go module
2026/01/25 19:20:40 [INFO] exec (timeout=0s): /usr/bin/go mod init caddy 
go: creating new go.mod: module caddy
go: to add module requirements and sums:
        go mod tidy
2026/01/25 19:20:40 [INFO] Pinning versions
2026/01/25 19:20:40 [INFO] exec (timeout=0s): /usr/bin/go get -v github.com/caddyserver/caddy/v2 
go: added github.com/beorn7/perks v1.0.1
go: added github.com/caddyserver/caddy/v2 v2.10.2
go: added github.com/caddyserver/certmagic v0.24.0
go: added github.com/caddyserver/zerossl v0.1.3
go: added github.com/cespare/xxhash/v2 v2.3.0
go: added github.com/francoispqt/gojay v1.2.13
go: added github.com/google/uuid v1.6.0
go: added github.com/klauspost/cpuid/v2 v2.3.0
go: added github.com/libdns/libdns v1.1.0
go: added github.com/mholt/acmez/v3 v3.1.2
go: added github.com/miekg/dns v1.1.63
go: added github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
go: added github.com/prometheus/client_golang v1.23.0
go: added github.com/prometheus/client_model v0.6.2
go: added github.com/prometheus/common v0.65.0
go: added github.com/prometheus/procfs v0.16.1
go: added github.com/quic-go/qpack v0.5.1
go: added github.com/quic-go/quic-go v0.54.0
go: added github.com/zeebo/blake3 v0.2.4
go: added go.uber.org/mock v0.5.2
go: added go.uber.org/multierr v1.11.0
go: added go.uber.org/zap v1.27.0
go: added go.uber.org/zap/exp v0.3.0
go: added golang.org/x/crypto v0.40.0
go: added golang.org/x/mod v0.25.0
go: added golang.org/x/net v0.42.0
go: added golang.org/x/sync v0.16.0
go: added golang.org/x/sys v0.34.0
go: added golang.org/x/term v0.33.0
go: added golang.org/x/text v0.27.0
go: added golang.org/x/time v0.12.0
go: added golang.org/x/tools v0.34.0
go: added google.golang.org/protobuf v1.36.6
2026/01/25 19:20:41 [INFO] exec (timeout=0s): /usr/bin/go get -v github.com/caddy-dns/cloudflare github.com/caddyserver/caddy/v2 
go: accepting indirect upgrade from github.com/miekg/dns@v1.1.63 to v1.1.65
go: added github.com/caddy-dns/cloudflare v0.2.2
go: added github.com/libdns/cloudflare v0.2.2
go: upgraded github.com/miekg/dns v1.1.63 => v1.1.65
2026/01/25 19:20:41 [INFO] exec (timeout=0s): /usr/bin/go get -v github.com/porech/caddy-maxmind-geolocation github.com/caddyserver/caddy/v2 
go: upgraded github.com/Microsoft/go-winio v0.6.0 => v0.6.2
go: upgraded github.com/antlr4-go/antlr/v4 v4.13.0 => v4.13.1
go: upgraded github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a => v0.0.0-20240606120523-5a60cdf6a761
go: added github.com/oschwald/maxminddb-golang v1.13.1
go: added github.com/porech/caddy-maxmind-geolocation v1.0.1
go: upgraded github.com/stoewer/go-strcase v1.2.0 => v1.3.0
go: upgraded howett.net/plist v1.0.0 => v1.0.1
2026/01/25 19:20:43 [INFO] exec (timeout=0s): /usr/bin/go get -v github.com/ueffel/caddy-brotli github.com/caddyserver/caddy/v2 
go: added github.com/andybalholm/brotli v1.1.1
go: added github.com/ueffel/caddy-brotli v1.6.0
2026/01/25 19:20:44 [INFO] exec (timeout=0s): /usr/bin/go get -v  
2026/01/25 19:20:45 [INFO] Build environment ready
2026/01/25 19:20:45 [INFO] Building Caddy
2026/01/25 19:20:45 [INFO] exec (timeout=0s): /usr/bin/go mod tidy -e 
2026/01/25 19:20:45 [INFO] exec (timeout=0s): /usr/bin/go build -o /opt/xcaddy/caddy -ldflags -w -s -trimpath -tags nobadger,nomysql,nopgx 
2026/01/25 19:20:45 [INFO] Build complete: ./caddy
2026/01/25 19:20:45 [INFO] Cleaning up temporary folder: /tmp/buildenv_2026-01-25-1920.3958507674

././caddy version
v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=

3. Caddy version:

v2.10.2, xcaddy 0.4.5

4. How I installed and ran Caddy:

Tested it on amd64 Ubuntu 24.04 and arm64 24.04
Used latest GO 1.25.6

Here is my Cronjob Script which I usually invoke (manuall builds have the same problem)

Cronjob (ran from root)

0 2 1 1,4,7,10 * /opt/xcaddy/caddy_update.sh 2>&1

Script

#!/bin/bash

# Navigate to the xcaddy directory
cd /opt/xcaddy

# Build caddy with the specified plugins
xcaddy build \
    --with github.com/caddy-dns/cloudflare \
    --with github.com/porech/caddy-maxmind-geolocation \
    --with github.com/ueffel/caddy-brotli

# Copy the binary
service caddy stop
mv /opt/xcaddy/caddy /usr/bin/caddy
service caddy start

a. System environment:

Ubuntu 24.04 LTS, one Server amd64, one arm64
Caddy running native on the System

b. Command:

I use systemd service commands to run caddyy

service caddy start
service caddy restart
service caddy status

c. Service/unit/compose file:

d. My complete Caddy config:

#Global Block start
{
    http_port 80
    https_port 443
    email john.doe@mail.com
}
#Global Block End

#Snippet Block Start (Used for Snippet Templates which can be used with the import Feature: https://caddyserver.com/docs/caddyfile/concepts#snippets)
#(log) {
#    log {
#	format single_field common_log
#        output file /var/log/caddy/access.log {
#        	roll_size 10MiB
#	        roll_keep 14
#	        roll_keep_for 24h
#        }
#    }
#}

(log) {
    log {
	format console
        output file /var/log/caddy/advanced.access.log {
        	roll_size 10MiB
	        roll_keep 14
	        roll_keep_for 24h
        }
    }
}

(geoip_ch) {
  @mygeofilter {
    maxmind_geolocation {
      db_path "/usr/share/GeoIP/GeoLite2-Country.mmdb"
      allow_countries CH
    }
  }
}

(php8.3) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(php8.4) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(php8.5) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(ssl) {
    tls john.doe@mail.com {
        dns cloudflare *obfuscated Key*
    }
}

(strip-www) {
	@www.{args.0} host www.{args.0}
	redir @www.{args.0} https://{args.0}{uri}
}
#Snippet Block End

coolercontrol.flow0.cloud {
    reverse_proxy 127.0.0.1:11987
	
	import ssl
	import geoip_ch
}

webmin.flow0.cloud {
    reverse_proxy 127.0.0.1:10000
	
	import ssl
	import geoip_ch
}

5. Links to relevant resources:

Unfortunately, you provided the xcaddy output, but not the Caddy logs, so a runtime error with the built version cannot be ruled out. In your Caddyfile, set the global debug option, then (re)start Caddy and provide those logs. :slight_smile:

Thanks for the reply.

I did start caddy with debug and with both versions as requested.

#Global Block start
{
    http_port 80
    https_port 443
    email john.doe@mail.com
    debug
}
#Global Block End

#Snippet Block Start (Used for Snippet Templates which can be used with the import Feature: https://caddyserver.com/docs/caddyfile/concepts#snippets)
#(log) {
#    log {
#	format single_field common_log
#        output file /var/log/caddy/access.log {
#        	roll_size 10MiB
#	        roll_keep 14
#	        roll_keep_for 24h
#        }
#    }
#}

(log) {
    log {
	format console
        output file /var/log/caddy/advanced.access.log {
        	roll_size 10MiB
	        roll_keep 14
	        roll_keep_for 24h
        }
    }
}

(geoip_ch) {
  @mygeofilter {
    maxmind_geolocation {
      db_path "/usr/share/GeoIP/GeoLite2-Country.mmdb"
      allow_countries CH
    }
  }
}

(php8.3) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(php8.4) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(php8.5) {
    encode gzip zstd br
    php_fastcgi unix//run/php/php8.3-fpm.sock
}

(ssl) {
    tls john.doe@mail.com {
        dns cloudflare *obfuscated Key*
    }
}

(strip-www) {
	@www.{args.0} host www.{args.0}
	redir @www.{args.0} https://{args.0}{uri}
}
#Snippet Block End

coolercontrol.flow0.cloud {
    reverse_proxy 127.0.0.1:11987
	
	import ssl
	import geoip_ch
}

webmin.flow0.cloud {
    reverse_proxy 127.0.0.1:10000
	
	import ssl
	import geoip_ch
}

Here are the files from both Startups. I didnt see a line, where it would load in the Plugins.

caddy-startup-xcaddy-build.log

Starting caddy.service - Caddy...
{"level":"info","ts":1770030063.7347927,"msg":"maxprocs: Leaving GOMAXPROCS=24: CPU quota undefined"}
{"level":"info","ts":1770030063.735072,"msg":"GOMEMLIMIT is updated","package":"github.com/KimMachineGun/automemlimit/memlimit","GOMEMLIMIT":30198192537,"previous":9223372036854775807}
caddy.HomeDir=/var/lib/caddy
caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
caddy.AppConfigDir=/var/lib/caddy/.config/caddy
caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
caddy.Version=v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
runtime.GOOS=linux
runtime.GOARCH=amd64
runtime.Compiler=gc
runtime.NumCPU=24
runtime.GOMAXPROCS=24
runtime.Version=go1.25.5
os.Getwd=/
LANG=de_DE.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/snap/bin
NOTIFY_SOCKET=/run/systemd/notify
USER=caddy
LOGNAME=caddy
HOME=/var/lib/caddy
INVOCATION_ID=be647e5efad64904a2a0debc5ee4ad45
JOURNAL_STREAM=8:16268474
SYSTEMD_EXEC_PID=4115061
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/caddy.service/memory.pressure
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
{"level":"info","ts":1770030063.7351525,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1770030063.736247,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"warn","ts":1770030063.7362537,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":3}
{"level":"info","ts":1770030063.7368717,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1770030063.7370064,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
{"level":"info","ts":1770030063.737018,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"info","ts":1770030063.7370286,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc000481980"}
{"level":"debug","ts":1770030063.7370374,"logger":"http.auto_https","msg":"adjusted config","tls":{"automation":{"policies":[{"subjects":["coolercontrol.flow0.cloud","gastroml.flow0.cloud","webmin.flow0.cloud"]},{}]}},"http":{"http_port":80,"https_port":443,"servers":{"remaining_auto_https_redirects":{"listen":[":80"],"routes":[{},{}]},"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:11987"}]}]}]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:3000"}]}]}]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:10000"}]}]}]}],"terminal":true}],"tls_connection_policies":[{}],"automatic_https":{}}}}}
{"level":"debug","ts":1770030063.737246,"logger":"http","msg":"starting server loop","address":"[::]:443","tls":true,"http3":false}
{"level":"info","ts":1770030063.7372596,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1770030063.7373116,"msg":"failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 7168 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1770030063.7373667,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"debug","ts":1770030063.7373989,"logger":"http","msg":"starting server loop","address":"[::]:80","tls":false,"http3":false}
{"level":"warn","ts":1770030063.7374048,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1770030063.737408,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1770030063.737411,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
{"level":"info","ts":1770030063.737415,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["coolercontrol.flow0.cloud","gastroml.flow0.cloud","webmin.flow0.cloud"]}
{"level":"debug","ts":1770030063.7375937,"logger":"tls","msg":"loading managed certificate","domain":"coolercontrol.flow0.cloud","expiration":1776969375,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"debug","ts":1770030063.737717,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [coolercontrol.flow0.cloud]: no OCSP server specified in certificate","identifiers":["coolercontrol.flow0.cloud"]}
{"level":"debug","ts":1770030063.7377589,"logger":"tls.cache","msg":"added certificate to cache","subjects":["coolercontrol.flow0.cloud"],"expiration":1776969375,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"46be4d074e87b476bafa64f20829fe46eba42a47c7234cb10344b60fe8166ee3","cache_size":1,"cache_capacity":10000}
{"level":"debug","ts":1770030063.737769,"logger":"events","msg":"event","name":"cached_managed_cert","id":"6344e64b-bf33-423b-b48b-24abce555fb5","origin":"tls","data":{"sans":["coolercontrol.flow0.cloud"]}}
{"level":"debug","ts":1770030063.738219,"logger":"tls","msg":"loading managed certificate","domain":"gastroml.flow0.cloud","expiration":1777158221,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"debug","ts":1770030063.7385979,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [gastroml.flow0.cloud]: no OCSP server specified in certificate","identifiers":["gastroml.flow0.cloud"]}
{"level":"debug","ts":1770030063.7386413,"logger":"tls.cache","msg":"added certificate to cache","subjects":["gastroml.flow0.cloud"],"expiration":1777158221,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"afdfecde6933126b17157170d077b94782fb6425373c1ecfe9f1f93e3059a1f2","cache_size":2,"cache_capacity":10000}
{"level":"debug","ts":1770030063.738657,"logger":"events","msg":"event","name":"cached_managed_cert","id":"2e1cc090-9609-4e94-8b2b-bb933eca9585","origin":"tls","data":{"sans":["gastroml.flow0.cloud"]}}
{"level":"info","ts":1770030063.7387898,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/var/lib/caddy/.local/share/caddy","instance":"85fa3eb3-c72f-4263-ba42-f949f57fcaf3","try_again":1770116463.7387886,"try_again_in":86399.99999978}
{"level":"info","ts":1770030063.7388587,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"debug","ts":1770030063.738893,"logger":"tls","msg":"loading managed certificate","domain":"webmin.flow0.cloud","expiration":1777139849,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"debug","ts":1770030063.7390764,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [webmin.flow0.cloud]: no OCSP server specified in certificate","identifiers":["webmin.flow0.cloud"]}
{"level":"debug","ts":1770030063.7391002,"logger":"tls.cache","msg":"added certificate to cache","subjects":["webmin.flow0.cloud"],"expiration":1777139849,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"84ee5e3f62f2823fd3c4691de3f0e45c731381c679432dae91d3a7aea0c24245","cache_size":3,"cache_capacity":10000}
{"level":"debug","ts":1770030063.7391138,"logger":"events","msg":"event","name":"cached_managed_cert","id":"e45740a2-7dec-41ce-adcd-3d15676a1f9f","origin":"tls","data":{"sans":["webmin.flow0.cloud"]}}
{"level":"debug","ts":1770030063.7391338,"logger":"events","msg":"event","name":"started","id":"254330aa-fe62-4c7a-839e-13670d2cea8e","origin":"","data":null}
{"level":"info","ts":1770030063.73925,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
{"level":"info","ts":1770030063.7392879,"msg":"serving initial configuration"}
Started caddy.service - Caddy.
{"level":"debug","ts":1770030073.885027,"logger":"events","msg":"event","name":"tls_get_certificate","id":"ccae5e4c-fbbf-4054-809e-7fbc09623b4b","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":46480,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030073.8851428,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030073.8851528,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030073.885158,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030073.8851633,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030073.8851762,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"46480","server_name":"stats.grafana.org","remote":"127.0.0.1:46480","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030073.8852532,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:46480: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030075.7707298,"logger":"events","msg":"event","name":"tls_get_certificate","id":"5195be06-9901-4179-8fd2-3111a2da2d9e","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":46494,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030075.7707796,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030075.770788,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030075.7707932,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030075.7707984,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030075.770811,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"46494","server_name":"stats.grafana.org","remote":"127.0.0.1:46494","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030075.7708735,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:46494: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030078.1538224,"logger":"events","msg":"event","name":"tls_get_certificate","id":"621e21a2-3c90-4aa7-a86c-9fe15ab44e36","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":46506,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030078.1538737,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030078.1538815,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030078.153887,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030078.1538923,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030078.1539054,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"46506","server_name":"stats.grafana.org","remote":"127.0.0.1:46506","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030078.153964,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:46506: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030083.7050316,"logger":"events","msg":"event","name":"tls_get_certificate","id":"f1f48983-cd72-470f-a486-59642e9be059","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":49506,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030083.7050836,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030083.7050915,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030083.705097,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030083.705102,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030083.7051153,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"49506","server_name":"stats.grafana.org","remote":"127.0.0.1:49506","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030083.705171,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:49506: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030099.4313986,"logger":"events","msg":"event","name":"tls_get_certificate","id":"71120e05-90ce-411a-8222-129ef05bed23","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":41598,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030099.431453,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030099.4314613,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030099.431467,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030099.4314723,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030099.4314845,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"41598","server_name":"stats.grafana.org","remote":"127.0.0.1:41598","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030099.4315436,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:41598: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030133.7942135,"logger":"events","msg":"event","name":"tls_get_certificate","id":"02dc79e5-d897-485d-b847-60c44cfcabc5","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":36020,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030133.7942705,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030133.79428,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030133.7942853,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030133.7942905,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030133.7943025,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"36020","server_name":"stats.grafana.org","remote":"127.0.0.1:36020","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030133.7943642,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:36020: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030134.9531987,"logger":"events","msg":"event","name":"tls_get_certificate","id":"fbbf264f-86b2-45d5-970c-d3d34758405f","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":36030,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030134.9532528,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030134.953261,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030134.9532661,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030134.9532712,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030134.9532826,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"36030","server_name":"stats.grafana.org","remote":"127.0.0.1:36030","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030134.9533367,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:36030: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030137.1524854,"logger":"events","msg":"event","name":"tls_get_certificate","id":"0e138ab3-c9bb-459b-a9b3-4e66855c64ab","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":36046,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030137.1525376,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030137.15255,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030137.1525555,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030137.1525607,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030137.1525733,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"36046","server_name":"stats.grafana.org","remote":"127.0.0.1:36046","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030137.152629,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:36046: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030144.4335005,"logger":"events","msg":"event","name":"tls_get_certificate","id":"a43afd3a-6168-4093-acb6-2711c9ba2a6d","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":54428,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030144.4335623,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030144.4335718,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030144.4335785,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030144.433586,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030144.4336002,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"54428","server_name":"stats.grafana.org","remote":"127.0.0.1:54428","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030144.4336715,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:54428: no certificate available for 'stats.grafana.org'"}
{"level":"debug","ts":1770030157.1021807,"logger":"events","msg":"event","name":"tls_get_certificate","id":"a8f95228-8b4e-4bc7-94a6-0281e3331053","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":56242,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030157.102235,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030157.1022437,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030157.1022491,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030157.1022544,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030157.102266,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"56242","server_name":"stats.grafana.org","remote":"127.0.0.1:56242","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030157.1023235,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:56242: no certificate available for 'stats.grafana.org'"}

caddy-startup-web-build.log

Starting caddy.service - Caddy...
{"level":"info","ts":1770030397.4740925,"msg":"maxprocs: Leaving GOMAXPROCS=24: CPU quota undefined"}
{"level":"info","ts":1770030397.4744906,"msg":"GOMEMLIMIT is updated","package":"github.com/KimMachineGun/automemlimit/memlimit","GOMEMLIMIT":30198192537,"previous":9223372036854775807}
caddy.HomeDir=/var/lib/caddy
caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
caddy.AppConfigDir=/var/lib/caddy/.config/caddy
caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
caddy.Version=v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
runtime.GOOS=linux
runtime.GOARCH=amd64
runtime.Compiler=gc
runtime.NumCPU=24
runtime.GOMAXPROCS=24
runtime.Version=go1.25.2
os.Getwd=/
LANG=de_DE.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/snap/bin
NOTIFY_SOCKET=/run/systemd/notify
USER=caddy
LOGNAME=caddy
HOME=/var/lib/caddy
INVOCATION_ID=71b7526901644f1cae7538d3cedd3bbb
JOURNAL_STREAM=8:16277627
SYSTEMD_EXEC_PID=4117176
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/caddy.service/memory.pressure
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
{"level":"info","ts":1770030397.4746225,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1770030397.4762516,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"warn","ts":1770030397.4762626,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":3}
{"level":"info","ts":1770030397.4773064,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//[::1]:2019","//127.0.0.1:2019","//localhost:2019"]}
{"level":"info","ts":1770030397.477547,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
{"level":"info","ts":1770030397.4775674,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"debug","ts":1770030397.4775896,"logger":"http.auto_https","msg":"adjusted config","tls":{"automation":{"policies":[{"subjects":["coolercontrol.flow0.cloud","gastroml.flow0.cloud","webmin.flow0.cloud"]},{}]}},"http":{"http_port":80,"https_port":443,"servers":{"remaining_auto_https_redirects":{"listen":[":80"],"routes":[{},{}]},"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:11987"}]}]}]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:3000"}]}]}]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:10000"}]}]}]}],"terminal":true}],"tls_connection_policies":[{}],"automatic_https":{}}}}}
{"level":"info","ts":1770030397.4775462,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0005a1d80"}
{"level":"debug","ts":1770030397.4780102,"logger":"http","msg":"starting server loop","address":"[::]:80","tls":false,"http3":false}
{"level":"warn","ts":1770030397.4780512,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1770030397.4780588,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1770030397.478065,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
{"level":"debug","ts":1770030397.4781346,"logger":"http","msg":"starting server loop","address":"[::]:443","tls":true,"http3":false}
{"level":"info","ts":1770030397.4781463,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1770030397.4782486,"msg":"failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 7168 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1770030397.4784791,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"info","ts":1770030397.4784896,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["coolercontrol.flow0.cloud","gastroml.flow0.cloud","webmin.flow0.cloud"]}
{"level":"debug","ts":1770030397.4788053,"logger":"tls","msg":"loading managed certificate","domain":"coolercontrol.flow0.cloud","expiration":1776969375,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"debug","ts":1770030397.4790497,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [coolercontrol.flow0.cloud]: no OCSP server specified in certificate","identifiers":["coolercontrol.flow0.cloud"]}
{"level":"debug","ts":1770030397.479118,"logger":"tls.cache","msg":"added certificate to cache","subjects":["coolercontrol.flow0.cloud"],"expiration":1776969375,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"46be4d074e87b476bafa64f20829fe46eba42a47c7234cb10344b60fe8166ee3","cache_size":1,"cache_capacity":10000}
{"level":"debug","ts":1770030397.4791403,"logger":"events","msg":"event","name":"cached_managed_cert","id":"9911eb43-afc6-4df2-a1d3-44edf2b51db8","origin":"tls","data":{"sans":["coolercontrol.flow0.cloud"]}}
{"level":"debug","ts":1770030397.4793792,"logger":"tls","msg":"loading managed certificate","domain":"gastroml.flow0.cloud","expiration":1777158221,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"info","ts":1770030397.4794145,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/var/lib/caddy/.local/share/caddy","instance":"85fa3eb3-c72f-4263-ba42-f949f57fcaf3","try_again":1770116797.4794128,"try_again_in":86399.99999956}
{"level":"info","ts":1770030397.4794939,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"debug","ts":1770030397.4795604,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [gastroml.flow0.cloud]: no OCSP server specified in certificate","identifiers":["gastroml.flow0.cloud"]}
{"level":"debug","ts":1770030397.4796057,"logger":"tls.cache","msg":"added certificate to cache","subjects":["gastroml.flow0.cloud"],"expiration":1777158221,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"afdfecde6933126b17157170d077b94782fb6425373c1ecfe9f1f93e3059a1f2","cache_size":2,"cache_capacity":10000}
{"level":"debug","ts":1770030397.479622,"logger":"events","msg":"event","name":"cached_managed_cert","id":"63cb089a-f3bc-44d9-8778-9ded093207a7","origin":"tls","data":{"sans":["gastroml.flow0.cloud"]}}
{"level":"debug","ts":1770030397.4798617,"logger":"tls","msg":"loading managed certificate","domain":"webmin.flow0.cloud","expiration":1777139849,"issuer_key":"acme-v02.api.letsencrypt.org-directory","storage":"FileStorage:/var/lib/caddy/.local/share/caddy"}
{"level":"debug","ts":1770030397.4800599,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [webmin.flow0.cloud]: no OCSP server specified in certificate","identifiers":["webmin.flow0.cloud"]}
{"level":"debug","ts":1770030397.4800863,"logger":"tls.cache","msg":"added certificate to cache","subjects":["webmin.flow0.cloud"],"expiration":1777139849,"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"84ee5e3f62f2823fd3c4691de3f0e45c731381c679432dae91d3a7aea0c24245","cache_size":3,"cache_capacity":10000}
{"level":"debug","ts":1770030397.4801092,"logger":"events","msg":"event","name":"cached_managed_cert","id":"21aa8acc-af6c-43c6-990b-2256f6e5c536","origin":"tls","data":{"sans":["webmin.flow0.cloud"]}}
{"level":"debug","ts":1770030397.4801338,"logger":"events","msg":"event","name":"started","id":"16a046d1-c1f2-44e3-8d53-cf7a030adf13","origin":"","data":null}
{"level":"info","ts":1770030397.4802942,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
{"level":"info","ts":1770030397.4803576,"msg":"serving initial configuration"}
Started caddy.service - Caddy.
{"level":"debug","ts":1770030399.5964532,"logger":"events","msg":"event","name":"tls_get_certificate","id":"93b35572-9090-4b0d-a5d6-d9e6d9693e69","origin":"tls","data":{"client_hello":{"CipherSuites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"ServerName":"stats.grafana.org","SupportedCurves":[4588,29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2052,1027,2055,2053,2054,1025,1281,1537,1283,1539],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"127.0.0.1","Port":36008,"Zone":""},"LocalAddr":{"IP":"127.0.0.1","Port":443,"Zone":""}}}}
{"level":"debug","ts":1770030399.5965672,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"stats.grafana.org"}
{"level":"debug","ts":1770030399.5965748,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.grafana.org"}
{"level":"debug","ts":1770030399.5965798,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.org"}
{"level":"debug","ts":1770030399.596585,"logger":"tls.handshake","msg":"no matching certificates and no custom selection logic","identifier":"*.*.*"}
{"level":"debug","ts":1770030399.5965967,"logger":"tls.handshake","msg":"no certificate matching TLS ClientHello","remote_ip":"127.0.0.1","remote_port":"36008","server_name":"stats.grafana.org","remote":"127.0.0.1:36008","identifier":"stats.grafana.org","cipher_suites":[49195,49199,49196,49200,52393,52392,49161,49171,49162,49172,4865,4866,4867],"cert_cache_fill":0.0003,"load_or_obtain_if_necessary":true,"on_demand":false}
{"level":"debug","ts":1770030399.5966752,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:36008: no certificate available for 'stats.grafana.org'"}

I’ve checked the Package List too and the Plugins are strangely enough in the Build. I added a bit after Dynamic DNS to the List for Building it.

xcaddy build

caddy list-modules --packages --versions

admin.api.load v2.10.2 github.com/caddyserver/caddy/v2
admin.api.metrics v2.10.2 github.com/caddyserver/caddy/v2
admin.api.pki v2.10.2 github.com/caddyserver/caddy/v2
admin.api.reverse_proxy v2.10.2 github.com/caddyserver/caddy/v2
caddy.adapters.caddyfile v2.10.2 github.com/caddyserver/caddy/v2
caddy.config_loaders.http v2.10.2 github.com/caddyserver/caddy/v2
caddy.filesystems v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.http_redirect v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.proxy_protocol v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.tls v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.cores.mock v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.append v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.console v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.cookie v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.delete v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.hash v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.ip_mask v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.query v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.regexp v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.rename v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.replace v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.json v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.discard v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.file v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.net v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.stderr v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.stdout v2.10.2 github.com/caddyserver/caddy/v2
caddy.network_proxy.none v2.10.2 github.com/caddyserver/caddy/v2
caddy.network_proxy.url v2.10.2 github.com/caddyserver/caddy/v2
caddy.storage.file_system v2.10.2 github.com/caddyserver/caddy/v2
events v2.10.2 github.com/caddyserver/caddy/v2
http v2.10.2 github.com/caddyserver/caddy/v2
http.authentication.hashes.bcrypt v2.10.2 github.com/caddyserver/caddy/v2
http.authentication.providers.http_basic v2.10.2 github.com/caddyserver/caddy/v2
http.encoders.gzip v2.10.2 github.com/caddyserver/caddy/v2
http.encoders.zstd v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.acme_server v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.authentication v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.copy_response v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.copy_response_headers v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.encode v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.error v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.file_server v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.headers v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.intercept v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.invoke v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.log_append v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.map v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.metrics v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.push v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.request_body v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.reverse_proxy v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.rewrite v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.static_response v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.subroute v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.templates v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.tracing v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.vars v2.10.2 github.com/caddyserver/caddy/v2
http.ip_sources.static v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.client_ip v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.expression v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.file v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.header v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.header_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.host v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.method v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.not v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.path v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.path_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.protocol v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.query v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.remote_ip v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.tls v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.vars v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.vars_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.br v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.gzip v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.zstd v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.client_ip_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.cookie v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.first v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.header v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.ip_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.least_conn v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.query v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.random v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.random_choose v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.round_robin v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.uri_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.weighted_round_robin v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.transport.fastcgi v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.transport.http v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.a v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.multi v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.srv v2.10.2 github.com/caddyserver/caddy/v2
pki v2.10.2 github.com/caddyserver/caddy/v2
tls v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.file v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.http v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.inline v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.pki_intermediate v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.pki_root v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.storage v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.automate v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_files v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_folders v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_pem v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_storage v2.10.2 github.com/caddyserver/caddy/v2
tls.client_auth.verifier.leaf v2.10.2 github.com/caddyserver/caddy/v2
tls.ech.publishers.dns v2.10.2 github.com/caddyserver/caddy/v2
tls.get_certificate.http v2.10.2 github.com/caddyserver/caddy/v2
tls.get_certificate.tailscale v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.local_ip v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.remote_ip v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.sni v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.sni_regexp v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.acme v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.internal v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.zerossl v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.file v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.folder v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.pem v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.storage v2.10.2 github.com/caddyserver/caddy/v2
tls.permission.http v2.10.2 github.com/caddyserver/caddy/v2
tls.stek.distributed v2.10.2 github.com/caddyserver/caddy/v2
tls.stek.standard v2.10.2 github.com/caddyserver/caddy/v2

  Standard modules: 127

dns.providers.cloudflare v0.2.2 github.com/caddy-dns/cloudflare
dynamic_dns v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.interface v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.simple_http v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.static v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.upnp v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
http.encoders.br v1.6.0 github.com/ueffel/caddy-brotli
http.matchers.maxmind_geolocation v1.0.1 github.com/porech/caddy-maxmind-geolocation

  Non-standard modules: 8

  Unknown modules: 0

Caddy Web Build

caddy list-modules --packages --versions 

admin.api.load v2.10.2 github.com/caddyserver/caddy/v2
admin.api.metrics v2.10.2 github.com/caddyserver/caddy/v2
admin.api.pki v2.10.2 github.com/caddyserver/caddy/v2
admin.api.reverse_proxy v2.10.2 github.com/caddyserver/caddy/v2
caddy.adapters.caddyfile v2.10.2 github.com/caddyserver/caddy/v2
caddy.config_loaders.http v2.10.2 github.com/caddyserver/caddy/v2
caddy.filesystems v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.http_redirect v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.proxy_protocol v2.10.2 github.com/caddyserver/caddy/v2
caddy.listeners.tls v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.cores.mock v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.append v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.console v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.cookie v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.delete v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.hash v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.ip_mask v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.query v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.regexp v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.rename v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.filter.replace v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.encoders.json v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.discard v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.file v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.net v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.stderr v2.10.2 github.com/caddyserver/caddy/v2
caddy.logging.writers.stdout v2.10.2 github.com/caddyserver/caddy/v2
caddy.network_proxy.none v2.10.2 github.com/caddyserver/caddy/v2
caddy.network_proxy.url v2.10.2 github.com/caddyserver/caddy/v2
caddy.storage.file_system v2.10.2 github.com/caddyserver/caddy/v2
events v2.10.2 github.com/caddyserver/caddy/v2
http v2.10.2 github.com/caddyserver/caddy/v2
http.authentication.hashes.bcrypt v2.10.2 github.com/caddyserver/caddy/v2
http.authentication.providers.http_basic v2.10.2 github.com/caddyserver/caddy/v2
http.encoders.gzip v2.10.2 github.com/caddyserver/caddy/v2
http.encoders.zstd v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.acme_server v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.authentication v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.copy_response v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.copy_response_headers v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.encode v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.error v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.file_server v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.headers v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.intercept v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.invoke v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.log_append v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.map v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.metrics v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.push v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.request_body v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.reverse_proxy v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.rewrite v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.static_response v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.subroute v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.templates v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.tracing v2.10.2 github.com/caddyserver/caddy/v2
http.handlers.vars v2.10.2 github.com/caddyserver/caddy/v2
http.ip_sources.static v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.client_ip v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.expression v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.file v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.header v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.header_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.host v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.method v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.not v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.path v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.path_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.protocol v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.query v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.remote_ip v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.tls v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.vars v2.10.2 github.com/caddyserver/caddy/v2
http.matchers.vars_regexp v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.br v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.gzip v2.10.2 github.com/caddyserver/caddy/v2
http.precompressed.zstd v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.client_ip_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.cookie v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.first v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.header v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.ip_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.least_conn v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.query v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.random v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.random_choose v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.round_robin v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.uri_hash v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.selection_policies.weighted_round_robin v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.transport.fastcgi v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.transport.http v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.a v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.multi v2.10.2 github.com/caddyserver/caddy/v2
http.reverse_proxy.upstreams.srv v2.10.2 github.com/caddyserver/caddy/v2
pki v2.10.2 github.com/caddyserver/caddy/v2
tls v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.file v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.http v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.inline v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.pki_intermediate v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.pki_root v2.10.2 github.com/caddyserver/caddy/v2
tls.ca_pool.source.storage v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.automate v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_files v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_folders v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_pem v2.10.2 github.com/caddyserver/caddy/v2
tls.certificates.load_storage v2.10.2 github.com/caddyserver/caddy/v2
tls.client_auth.verifier.leaf v2.10.2 github.com/caddyserver/caddy/v2
tls.ech.publishers.dns v2.10.2 github.com/caddyserver/caddy/v2
tls.get_certificate.http v2.10.2 github.com/caddyserver/caddy/v2
tls.get_certificate.tailscale v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.local_ip v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.remote_ip v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.sni v2.10.2 github.com/caddyserver/caddy/v2
tls.handshake_match.sni_regexp v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.acme v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.internal v2.10.2 github.com/caddyserver/caddy/v2
tls.issuance.zerossl v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.file v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.folder v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.pem v2.10.2 github.com/caddyserver/caddy/v2
tls.leaf_cert_loader.storage v2.10.2 github.com/caddyserver/caddy/v2
tls.permission.http v2.10.2 github.com/caddyserver/caddy/v2
tls.stek.distributed v2.10.2 github.com/caddyserver/caddy/v2
tls.stek.standard v2.10.2 github.com/caddyserver/caddy/v2

  Standard modules: 127

dns.providers.cloudflare v0.2.2 github.com/caddy-dns/cloudflare
dynamic_dns v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.interface v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.simple_http v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.static v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
dynamic_dns.ip_sources.upnp v0.0.0-20251231002810-1af4f8876598 github.com/mholt/caddy-dynamicdns
http.encoders.br v1.6.0 github.com/ueffel/caddy-brotli
http.matchers.maxmind_geolocation v1.0.1 github.com/porech/caddy-maxmind-geolocation

  Non-standard modules: 8

  Unknown modules: 0

Strange enough, today the plugins work again when I build with xcaddy :face_with_raised_eyebrow:

1 Like