Skip to content

Caddy Setup

Muhammed Mustafa AKSAM edited this page Dec 19, 2025 · 1 revision

πŸ”€ Caddy Setup

Caddy is an automatic HTTPS reverse proxy alternative to Traefik.


Overview

Caddy provides:

  • Automatic HTTPS - Automatic certificate provisioning via Let's Encrypt
  • Simple configuration - Caddyfile is easy to read and write
  • Zero-config TLS - No manual certificate management
  • HTTP/3 support - Modern protocol support

Configuration

Enabling Caddy

  1. In easiarr settings, set Reverse Proxy to caddy
  2. Configure your domain
  3. Run Full Auto Setup

Generated Caddyfile

easiarr generates a Caddyfile automatically:

{
    email {$EMAIL_GLOBAL}
}

radarr.example.com {
    reverse_proxy radarr:7878
}

sonarr.example.com {
    reverse_proxy sonarr:8989
}

prowlarr.example.com {
    reverse_proxy prowlarr:9696
}

Caddy vs Traefik

Feature Caddy Traefik
Configuration Caddyfile Labels/YAML
Automatic HTTPS βœ… Built-in βœ… Built-in
Dynamic config File-based Docker labels
Dashboard ❌ None βœ… Web UI
Learning curve Low Medium
Memory usage Lower Higher

When to Use Caddy

  • Simpler setup requirements
  • Lower resource usage
  • Prefer file-based configuration
  • Don't need a web dashboard

When to Use Traefik

  • Need Docker-native configuration via labels
  • Want a web dashboard
  • Prefer dynamic per-container routing
  • Need advanced middleware features

SSL Certificates

Caddy automatically:

  1. Requests certificates from Let's Encrypt
  2. Stores them in /data/caddy
  3. Renews them before expiration
  4. Supports wildcard certificates (with DNS challenge)

Requirements

  • Port 80 and 443 accessible from internet
  • Valid domain pointing to your server
  • Email address for Let's Encrypt notifications

Docker Configuration

easiarr configures Caddy with:

caddy:
  image: caddy:2
  container_name: caddy
  ports:
    - "80:80"
    - "443:443"
    - "443:443/udp" # HTTP/3
  volumes:
    - ${ROOT}/config/caddy/Caddyfile:/etc/caddy/Caddyfile
    - ${ROOT}/config/caddy/data:/data
    - ${ROOT}/config/caddy/config:/config
  restart: unless-stopped

πŸ”— Related

Clone this wiki locally