I followed your instructions and now I have my own caddy container up and running.
Time to add stuff to the Caddyfile.
I added this:
grillgeekse {
reverse_proxy grillgeekse
}
The logs that was put out… oh wow.
{"level":"info","ts":1629442241.5226223,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442242.7436438,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442243.8884454,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442245.1327083,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442246.7178838,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442249.1284099,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442253.105347,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442260.2996476,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442273.8552847,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: EOF
{"level":"info","ts":1629442300.2261066,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
{"level":"info","ts":1629442300.2314253,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
{"level":"info","ts":1629442300.2318184,"logger":"http","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":1629442300.2318616,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"info","ts":1629442300.2321897,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc00029d110"}
{"level":"info","ts":1629442300.234321,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/data/caddy"}
{"level":"info","ts":1629442300.2345786,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1629442300.234838,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["grillgeekse"]}
{"level":"info","ts":1629442300.235398,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1629442300.2354624,"msg":"serving initial configuration"}
{"level":"info","ts":1629442300.2360005,"logger":"tls.obtain","msg":"acquiring lock","identifier":"grillgeekse"}
{"level":"info","ts":1629442300.25733,"logger":"tls.obtain","msg":"lock acquired","identifier":"grillgeekse"}
{"level":"info","ts":1629442301.3285463,"logger":"tls.issuance.acme","msg":"waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme-v02.api.letsencrypt.org/directory","account":""}
{"level":"info","ts":1629442301.3287232,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme-v02.api.letsencrypt.org/directory","account":""}
{"level":"error","ts":1629442301.483864,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"grillgeekse","issuer":"acme-v02.api.letsencrypt.org-directory","error":"HTTP 400 urn:ietf:params:acme:error:rejectedIdentifier - Error creating new order :: Cannot issue for \"grillgeekse\": Domain name needs at least one dot"}
{"level":"warn","ts":1629442301.4848719,"logger":"tls.issuance.zerossl","msg":"missing email address for ZeroSSL; it is strongly recommended to set one for next time"}
{"level":"info","ts":1629442302.186465,"logger":"tls.issuance.zerossl","msg":"generated EAB credentials","key_id":"me7eG2HK568H7pJB2EUrFg"}
{"level":"info","ts":1629442303.7822263,"logger":"tls.issuance.acme","msg":"waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme.zerossl.com/v2/DV90","account":""}
{"level":"info","ts":1629442303.7822804,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme.zerossl.com/v2/DV90","account":""}
{"level":"error","ts":1629442304.236745,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"grillgeekse","issuer":"acme.zerossl.com-v2-DV90","error":"HTTP 400 urn:ietf:params:acme:error:rejectedIdentifier - Invalid DNS identifier [grillgeekse]"}
{"level":"error","ts":1629442304.2368124,"logger":"tls.obtain","msg":"will retry","error":"[grillgeekse] Obtain: [grillgeekse] creating new order: request to https://acme.zerossl.com/v2/DV90/newOrder failed after 1 attempts: HTTP 400 urn:ietf:params:acme:error:rejectedIdentifier - Invalid DNS identifier [grillgeekse] (ca=https://acme.zerossl.com/v2/DV90)","attempt":1,"retrying_in":60,"elapsed":3.979451989,"max_duration":2592000}
{"level":"info","ts":1629442308.6105514,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1629442308.610605,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1629442308.6132107,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc00029d110"}
{"level":"info","ts":1629442308.6133301,"logger":"tls.obtain","msg":"releasing lock","identifier":"grillgeekse"}
{"level":"error","ts":1629442308.6137311,"logger":"tls","msg":"job failed","error":"grillgeekse: obtaining certificate: context canceled"}
{"level":"info","ts":1629442308.614947,"logger":"admin","msg":"stopped previous server","address":"tcp/localhost:2019"}
{"level":"info","ts":1629442308.6149962,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1629442309.7130032,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
{"level":"info","ts":1629442309.7158709,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
{"level":"info","ts":1629442309.7161958,"logger":"http","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":1629442309.7162435,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"info","ts":1629442309.7172883,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc00021d5e0"}
{"level":"info","ts":1629442309.7175262,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/data/caddy"}
{"level":"info","ts":1629442309.7175865,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1629442309.7176592,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["grillgeekse"]}
{"level":"info","ts":1629442309.725937,"logger":"tls.obtain","msg":"acquiring lock","identifier":"grillgeekse"}
{"level":"info","ts":1629442309.7260933,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1629442309.726113,"msg":"serving initial configuration"}
{"level":"info","ts":1629442309.7531338,"logger":"tls.obtain","msg":"lock acquired","identifier":"grillgeekse"}
{"level":"info","ts":1629442309.7680786,"logger":"tls.issuance.acme","msg":"waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme-v02.api.letsencrypt.org/directory","account":""}
{"level":"info","ts":1629442309.768108,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["grillgeekse"],"ca":"https://acme-v02.api.letsencrypt.org/directory","account":""}
{"level":"error","ts":1629442310.645444,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"grillgeekse","issuer":"acme-v02.api.letsencrypt.org-directory","error":"HTTP 400 urn:ietf:params:acme:error:rejectedIdentifier - Error creating new order :: Cannot issue for \"grillgeekse\": Domain name needs at least one dot"}
{"level":"warn","ts":1629442310.646039,"logger":"tls.issuance.zerossl","msg":"missing email address for ZeroSSL; it is strongly recommended to set one for next time"}
{"level":"info","ts":1629442311.2585263,"logger":"tls.issuance.zerossl","msg":"generated EAB credentials","key_id":"0s6P9msdL2Bvfb8flBmVfA"}