Caddyfile (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | {
persist_config off
servers {
protocols h1 h2
}
cache {
ttl 1h
nuts {
path /data/
}
}
log {
format json
exclude admin.api
}
order goatcounter after tracing
metrics {
per_host
}
acme_ca https://acme-api.actalis.com/acme/directory
acme_eab {
key_id {$EAB_KEY_ID}
mac_key {$EAB_MAC_KEY}
}
storage redis {
host redis.alin.ovh
username default
db 1
password {$REDIS_PASSWORD}
encryption_key {$REDIS_ENCRYPTION_KEY}
tls_enabled true
tls_insecure false
}
}
:9091 {
handle_path /metrics {
reverse_proxy localhost:2019 {
header_up Host {upstream_hostport}
}
}
}
(dns01) {
tls {
dns rfc2136 {
key_name caddy
key_alg hmac-sha512
key {env.DDNS_TSIG_KEY}
server pdns.alin.ovh:53
}
}
}
(cache) {
cache
header -Server
}
flynet-butterfly-1123.fly.dev {
respond "Hello, world!"
}
alanpearce.eu, alin.ovh {
import cache
import dns01
reverse_proxy https://homestead-homestead488.danubedata.run {
header_up Host {hostport}
}
}
status.alin.ovh {
import cache
import dns01
reverse_proxy https://home.alin.ovh {
header_up Host {hostport}
header_down -Alt-Svc
}
}
searchix.ovh {
import cache
import dns01
goatcounter {
api_host {$GOATCOUNTER_API_HOST}
token "{$GOATCOUNTER_TOKEN}"
site stats.searchix.ovh
}
reverse_proxy {
to https://smrk.alin.ovh https://home.alin.ovh
lb_policy first
header_up Host {hostport}
header_down -Alt-Svc
# active health checks (service running)
health_uri /health
health_headers {
Host {hostport}
}
health_status 2xx
health_interval 10s
health_timeout 2s
health_fails 2
# passive health checks
max_fails 5
fail_duration 30s
unhealthy_status 5xx
}
}
|