98 lines
2.5 KiB
Caddyfile
98 lines
2.5 KiB
Caddyfile
{
|
||
email {env.CLOUDFLARE_EMAIL}
|
||
acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
||
acme_ca https://acme-v02.api.letsencrypt.org/directory
|
||
debug
|
||
}
|
||
|
||
# Prod: Neue Domains
|
||
www.bizmatch.net {
|
||
handle /pictures/* {
|
||
root * /home/aknuth/git/bizmatch-project/bizmatch-server # Prod-Ordner
|
||
file_server
|
||
}
|
||
# Statische Dateien (CSS, JS, Bilder) – lange cachen, da sich der Name bei Änderungen ändert
|
||
header /assets/* Cache-Control "public, max-age=31536000, immutable"
|
||
header /*.css Cache-Control "public, max-age=31536000, immutable"
|
||
header /*.js Cache-Control "public, max-age=31536000, immutable"
|
||
|
||
# Die index.html und API-Antworten – NIEMALS cachen
|
||
header /index.html Cache-Control "no-cache, no-store, must-revalidate"
|
||
|
||
handle {
|
||
reverse_proxy host.docker.internal:4200
|
||
}
|
||
log {
|
||
output file /var/log/caddy/access.prod.log # Separate Logs
|
||
}
|
||
encode gzip zstd
|
||
}
|
||
bizmatch.net {
|
||
redir https://www.bizmatch.net{uri} permanent
|
||
}
|
||
www.qrmaster.net {
|
||
handle {
|
||
reverse_proxy host.docker.internal:3050
|
||
}
|
||
log {
|
||
output file /var/log/caddy/qrmaster.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
}
|
||
qrmaster.net {
|
||
redir https://www.qrmaster.net{uri} permanent
|
||
}
|
||
www.innungsapp.com {
|
||
handle {
|
||
reverse_proxy host.docker.internal:3010
|
||
}
|
||
log {
|
||
output file /var/log/caddy/innungsapp.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
}
|
||
innungsapp.com {
|
||
redir https://www.innungsapp.com{uri} permanent
|
||
}
|
||
|
||
auth.bizmatch.net {
|
||
reverse_proxy https://bizmatch-net.firebaseapp.com {
|
||
header_up Host bizmatch-net.firebaseapp.com
|
||
header_up X-Forwarded-For {remote_host}
|
||
header_up X-Forwarded-Proto {scheme}
|
||
header_up X-Real-IP {remote_host}
|
||
}
|
||
}
|
||
gitea.bizmatch.net {
|
||
reverse_proxy gitea:3500
|
||
}
|
||
|
||
api.bizmatch.net {
|
||
reverse_proxy host.docker.internal:3001 { # Neu: Proxy auf Prod-Port 3001
|
||
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
|
||
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
|
||
header_up X-Forwarded-Proto {http.request.header.X-Forwarded-Proto}
|
||
header_up CF-IPCountry {http.request.header.CF-IPCountry}
|
||
}
|
||
}
|
||
|
||
greenlenspro.com {
|
||
encode zstd gzip
|
||
|
||
@storage path /storage /storage/*
|
||
handle @storage {
|
||
uri strip_prefix /storage
|
||
reverse_proxy minio:9000
|
||
}
|
||
|
||
@api path /api /api/* /auth /auth/* /v1 /v1/* /health /plants /plants/*
|
||
handle @api {
|
||
reverse_proxy api:3000
|
||
}
|
||
|
||
handle {
|
||
reverse_proxy landing:3000
|
||
}
|
||
} |