# Caddy configuration file # Generated by Ansible - DO NOT EDIT MANUALLY # Global configuration { {% if caddy_tls_enabled and caddy_tls_email %} # ACME configuration for Let's Encrypt email {{ caddy_tls_email }} acme_ca {{ caddy_acme_ca }} {% endif %} {% if caddy_dns_provider == "cloudflare" and cloudflare_api_token %} # DNS challenge for wildcard certificates acme_dns cloudflare {{ cloudflare_api_token }} {% endif %} {% if not caddy_auto_https %} auto_https off {% endif %} } # Import service configurations import {{ caddy_sites_enabled_dir }}/* # Primary domain: {{ caddy_domain }} {{ caddy_domain }} { {% if caddy_tls_enabled %} {% if caddy_dns_provider == "cloudflare" and cloudflare_api_token %} # DNS challenge for automatic TLS tls { dns cloudflare {{ cloudflare_api_token }} resolvers {{ caddy_dns_resolvers | join(' ') }} } {% elif caddy_tls_email %} # HTTP challenge for automatic TLS tls {{ caddy_tls_email }} {% endif %} {% endif %} # Serve static content root * {{ caddy_default_site_root }} file_server # Logging log { {% if caddy_log_format == "json" %} output file {{ caddy_log_dir }}/{{ caddy_domain | replace('.', '_') }}.log { roll_size 100mb roll_keep 5 } format json { time_format "2006-01-02T15:04:05.000Z07:00" } level {{ caddy_log_level }} {% else %} output file {{ caddy_log_dir }}/{{ caddy_domain | replace('.', '_') }}.log { roll_size 100mb roll_keep 5 } level {{ caddy_log_level }} {% endif %} } }