guide ยท #selfhost ยท 20 min
Set Up a Reverse Proxy with Caddy (HTTPS Included)
Cech Tech Reviews
Expose your self-hosted services with proper domain names and automatic HTTPS certificates. Caddy handles everything, no manual certificate management.
difficulty: advancedabout 20 min
- 1
Install Caddy
On Docker:
docker run -d \ --name caddy \ --restart unless-stopped \ -p 80:80 -p 443:443 \ -v ~/caddy/Caddyfile:/etc/caddy/Caddyfile \ -v ~/caddy/data:/data \ -v ~/caddy/config:/config \ caddy:latest
- 2
Create a Caddyfile
Create ~/caddy/Caddyfile with your domains:
plex.yourdomain.com { reverse_proxy localhost:32400 }vault.yourdomain.com { reverse_proxy localhost:8080 } - 3
Point your DNS to your server
In your domain registrar or Cloudflare, create A records pointing plex.yourdomain.com and vault.yourdomain.com to your server's public IP.
- 4
Caddy handles HTTPS automatically
When a request comes in, Caddy automatically obtains and renews Let's Encrypt certificates. You never touch a certificate file. It just works.
- 5
Add more services as you go
Every new service is just 3 lines in the Caddyfile. Add it, reload Caddy (docker exec caddy caddy reload --config /etc/caddy/Caddyfile), and the new subdomain is live with HTTPS.
