Caddy Web Server
Server platform extensible dengan HTTPS default (CertMagic), Caddyfile sederhana, JSON API, cocok reverse proxy modern.
#DevOps#Linux#Security#Cloud
Apa itu Caddy?
Caddy adalah extensible server platform yang memakai TLS secara default. Fokus: setiap situs HTTPS dengan konfigurasi seminimal mungkin.
- Situs: caddyserver.com
- Docs: caddyserver.com/docs
- Repo: github.com/caddyserver/caddy
- TLS engine: CertMagic (proyek ZeroSSL)
Fitur unggulan
- Konfigurasi mudah lewat Caddyfile
- Konfigurasi kuat lewat JSON native
- JSON API untuk config dinamis
- HTTPS otomatis (Let’s Encrypt / ZeroSSL, renew, stapling)
- Reverse proxy, static files, compression, HTTP/2–3 (tergantung build)
- Plugin/extensible architecture
Quick start — reverse proxy
Caddyfile:
app.example.com {
reverse_proxy 127.0.0.1:3000
}
api.example.com {
reverse_proxy 127.0.0.1:8080
}
# Static site
www.example.com {
root * /var/www/site
file_server
encode gzip
}
# Install sesuai distro / binary dari releases
caddy run --config /etc/caddy/Caddyfile
# atau
caddy start
Caddy otomatis meminta & me-renew sertifikat jika DNS domain mengarah ke server dan port 80/443 terbuka (atau via DNS challenge).
Caddy vs Nginx Proxy Manager
| Kebutuhan | Pilih |
|---|---|
| UI klik-klik, banyak user non-ops | Nginx Proxy Manager |
| Config as code, GitOps, HTTPS default | Caddy |
| Kontrol Nginx klasik + ekosistem luas | Nginx / OpenResty |
| Homelab cepat | NPM atau Caddy — keduanya valid |
Contoh Docker
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp" # HTTP/3 opsional
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
Keamanan & praktik baik
- Minimal expose service; Caddy sebagai satu-satunya edge HTTP
- Header keamanan (
headerdirective) untuk HSTS, nosniff, dll. - Kombinasikan dengan CrowdSec (bouncer/firewall) untuk ban IP
- Backup volume
/data(sertifikat & state) - Jangan commit private key; andalkan ACME
Kapan Caddy unggul
- Developer yang ingin “HTTPS tanpa drama”
- Reverse proxy untuk API/static dengan config di Git
- Proyek yang butuh API reconfig tanpa restart penuh
Tautan
- Features: https://caddyserver.com/features
- Caddyfile docs: https://caddyserver.com/docs/caddyfile
- Community: https://caddy.community