Skip to main content

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

  • Caddy install docs: Caddy.
  • Caddy reverse proxy quick-start: Caddy.

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