47 lines
973 B
Caddyfile
47 lines
973 B
Caddyfile
{
|
|
email office@linumiq.com
|
|
on_demand_tls {
|
|
# Self-hosted ask endpoint on :9999 (always 200 in Wave A).
|
|
# TODO Wave B: point ask at https://api.linumiq.net/functions/v1/check-subdomain
|
|
# (an Edge Function that returns 200 only for subdomains present in tunnels table).
|
|
ask http://localhost:9999/check
|
|
}
|
|
}
|
|
|
|
# Apex -> dashboard redirect
|
|
linumiq.net {
|
|
tls {
|
|
on_demand
|
|
}
|
|
redir https://app.linumiq.net{uri} permanent
|
|
}
|
|
|
|
# Reserved hostname: Next.js dashboard (upstream not yet running in Wave A)
|
|
app.linumiq.net {
|
|
tls {
|
|
on_demand
|
|
}
|
|
reverse_proxy web:3000
|
|
}
|
|
|
|
# Reserved hostname: Supabase API (Kong)
|
|
api.linumiq.net {
|
|
tls {
|
|
on_demand
|
|
}
|
|
reverse_proxy supabase-kong:8000
|
|
}
|
|
|
|
# Wildcard tunnel subdomains -> frps vhost HTTP. Per-name HTTP-01 issued on first hit.
|
|
*.linumiq.net {
|
|
tls {
|
|
on_demand
|
|
}
|
|
reverse_proxy frps:7080
|
|
}
|
|
|
|
# Internal ask endpoint for on-demand TLS. Bound to loopback inside the container.
|
|
http://localhost:9999 {
|
|
respond /check 200
|
|
}
|