book/Caddyfile

55 lines
2.5 KiB
Caddyfile

{
# https://caddyserver.com/docs/caddyfile/options
email "privat@lukas-potthast.de"
http_port {$HTTP_PORT}
https_port {$HTTPS_PORT}
storage consul {
address "{$CONSUL_HTTP_ADDR}"
token "consul-access-token"
timeout 10
prefix ""
value_prefix "caddytlsprefix"
aes_key "consultls-1234567890-caddytls-32"
tls_enabled "false"
tls_insecure "true"
}
}
{$ADDRESS_PREFIX}:{$HTTPS_PORT} {
tls /etc/certs/letsencrypt/www.leptonic.dev-cert.pem /etc/certs/letsencrypt/www.leptonic.dev-key.pem
# redir {$URL_PREFIX} {$URL_PREFIX}/
handle_path {$URL_PREFIX}* {
root * /srv
try_files {path} /index.html
encode {
gzip
match {
header Content-Type text/*
header Content-Type application/json*
header Content-Type application/js*
header Content-Type application/javascript*
header Content-Type application/wasm*
header Content-Type application/xhtml+xml*
header Content-Type application/atom+xml*
header Content-Type application/rss+xml*
header Content-Type image/svg+xml*
header Content-Type image/*
}
}
# header Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header index.html Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header service-worker.js Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header manifest.json Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header robots.txt Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header js/* Cache-Control max-age=0,no-cache,no-store,must-revalidate
# header * Cache-Control max-age=31536000
header Cache-Control max-age=0,no-cache,no-store,must-revalidate
file_server
}
handle {
respond "Not found" 404
}
}