What’s difficult about deploying, managing, and configuring Caddy?
- Cluster deployments - syncing many instances with same config
- mTLS (TLS client auth) - automate mTLS certs & enforcement
- Remote config of Caddy (admin endpoint setup / security)
- Prod-ready deployments - setting up Caddy to be prod-ready
- Scale - deploying many instances in a simple fashion
- Hosted UI - an interface to manage Caddy
- Complex deployments - deploy some Caddys inside infra, others externally exposed
- Custom Modules / Plugins - redeploying Caddy with custom modules
- Let’s Encrypt rate limits - avoiding rate limits because of complex scenarios
- Certificate Authority - setting up an internal Certificate authority
- Sidecar deployments - launching apps together w/ Caddy (at scale?)
- Logs - Viewing all Caddy logs in unified manner
- Configuration - configuring Caddy is difficult
- Other - comment below
I’m scratching my own itch by building a managed “Caddy as a Service” platform to make launching & maintaining Caddy easy. I’d appreciate your feedback on how you use Caddy in a commercial setting.
Below are a few ideas I have to solve some of the poll topics, let me know what you think in the comments:
- Redeploy Caddy w/ custom module on
- mTLS automation - automatically link up Caddy instances to enforce mTLS.
- Other clients can fetch an mTLS cert via API
- 1-click deploys of Caddy
- Launch Caddy with your containerized app
- Programmatically launch Caddy via API
- Centralized UI for management, logs and config
- Launch AWS EC2 images with Caddy running & managed via dashboard
- 1-click global cluster deployments (synced configs, load-balanced, Anycast DNS, shared storage)
Thanks for your time!