64 lines
1.7 KiB
Django/Jinja
64 lines
1.7 KiB
Django/Jinja
# 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 %}
|
|
}
|
|
}
|