Sorry. The reason I come down strongly in response to language like this:
a single site failing will prevent Caddy from starting and bring down all sites
is because it misleads or confuses other readers when really what is happening is:
I have Caddy deployed in Docker, so changing config means redeploying. That brings all sites down.
Your way of using of Docker is killing Caddy processes, which brings all sites down. Caddy isn’t bringing the sites down. You’re stopping Caddy and then it’s unable to run after you make a change. That’s much less surprising and much more acceptable from a software quality standpoint.
Since about September there’s been a lot of misinformation about Caddy that I’ve been correcting as thoroughly as I can: misinformation which leads to making less-than-optimal and even insecure decisions about how to host and serve sites. Many sites were down sporadically this week in central Europe, for example, because site owners read stuff like this and then chose Apache or nginx instead of Caddy and then got bit by low-quality OCSP implementations when an OCSP responder had trouble, when really the information they read about Caddy (“it’s not open source” - “it takes all your sites down” - “it’s not fast” - “it’s unstable” - “it’s adware” - “it’s not powerful” - all some real examples of common misinformation) is false in the first place. Now, granted, it’s the responsibility of the reader to be critical of what they’re reading, rather than finding what they think is dirt on some software project and then just accepting it because, hey, that’s fun, and it makes them feel more informed - BUT I’m still gonna do what I can to make sure the record is straight, especially within our own community.
So, again, sorry – it’s nothing personal. And I love that you’re using Caddy. And I hope it serves you well. If anything, I just have a vendetta against claims like was originally posted.
If Docker really has no way of passing signals like USR1 to the processes, then that is an unfortunate technical limitation in Docker and you will have to change the way you serve your sites. The best thing to do is fix the configuration that is broken (or file a bug report, if it is a bug). But since you have not posted any information about log output or error messages, actually giving you help is difficult. We really do want to help you, but without anything to go on, all we can do is wave our hands and suggest generic things.