Caddy
Caddy is a modern reverse proxy with automatic HTTPS and a simple configuration model. It’s well suited for small services, prototypes, personal sites, internal dashboards, and environments where minimal configuration is preferred.
Install
# Official apt repo & package
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key | sudo tee /usr/share/keyrings/caddy-stable-archive-keyring.gpg >/dev/null
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
sudo systemctl enable --now caddy
The official package installs a systemd unit; enabling it makes Caddy persistent.
Basic reverse proxy + automatic HTTPS
Edit /etc/caddy/Caddyfile:
example.com {
reverse_proxy 127.0.0.1:3000
}
Apply:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
Caddy automatically obtains/renews certificates from Let’s Encrypt and redirects HTTP→HTTPS by default when using a domain block like above. Reverse proxy behavior is via the reverse_proxy directive.
Verify
curl -I http://example.com
curl -I https://example.com
journalctl -u caddy -n 100 --no-pager
Notes
Deploy Caddy-Based Apps Automatically
Caddy’s strengths — automatic HTTPS and simple config — align well with Hostim.dev. You can deploy any Docker app and get HTTPS, domains, logs, and metrics out of the box.
👉 Deploy an app in seconds with automatic HTTPS