Files
aza/AzA march 2026/deploy/aza-deploy/Caddyfile
2026-04-19 22:22:11 +02:00

78 lines
1.5 KiB
Caddyfile

# AZA Reverse Proxy + Static Files
#
# Production: DOMAIN env must point to this machine (DNS A-Record).
# Caddy handles automatic HTTPS via Let's Encrypt.
#
# Local testing: http://localhost:8080
{
email {$ACME_EMAIL:admin@aza-medwork.ch}
}
{$AZA_DOMAIN:localhost} {
encode gzip zstd
# Static web assets (landing, download, styles)
handle /web/* {
root * /app
file_server
}
# Release artifacts (version.json, installer)
handle /release/* {
root * /app
file_server
}
# Download shortcut: /download/filename -> /release/filename
handle /download/* {
root * /app/release
uri strip_prefix /download
file_server
}
# All other requests -> backend API
handle {
reverse_proxy {$BACKEND_UPSTREAM:backend:8000}
}
}
# Empfang-Subdomain: empfang.aza-medwork.ch
# Root "/" wird transparent auf /empfang/ umgeschrieben (kein sichtbarer Redirect)
{$AZA_EMPFANG_DOMAIN:empfang.aza-medwork.ch} {
encode gzip zstd
handle / {
rewrite * /empfang/
reverse_proxy {$BACKEND_UPSTREAM:backend:8000}
}
handle {
reverse_proxy {$BACKEND_UPSTREAM:backend:8000}
}
}
:8080 {
encode gzip zstd
handle /web/* {
root * /app
file_server
}
handle /release/* {
root * /app
file_server
}
handle /download/* {
root * /app/release
uri strip_prefix /download
file_server
}
handle {
reverse_proxy {$BACKEND_UPSTREAM_LOCAL:localhost:8000}
}
}