284 lines
6.7 KiB
Caddyfile
284 lines
6.7 KiB
Caddyfile
{
|
||
email {env.CLOUDFLARE_EMAIL}
|
||
acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
||
acme_ca https://acme-v02.api.letsencrypt.org/directory
|
||
debug
|
||
}
|
||
##############
|
||
##### BIZMATCH
|
||
##############
|
||
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 {
|
||
# root * /home/aknuth/git/bizmatch-project-prod/bizmatch/dist/bizmatch/browser # Neuer Prod-Dist-Ordner
|
||
# try_files {path} {path}/ /index.html
|
||
# file_server
|
||
#}
|
||
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
|
||
}
|
||
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
|
||
}
|
||
|
||
dev.bizmatch.net {
|
||
handle /pictures/* {
|
||
root * /home/aknuth/git/bizmatch-project/bizmatch-server
|
||
file_server
|
||
}
|
||
|
||
handle {
|
||
root * /home/aknuth/git/bizmatch-project/bizmatch/dist/bizmatch/browser
|
||
try_files {path} {path}/ /index.html
|
||
file_server
|
||
}
|
||
|
||
log {
|
||
output file /var/log/caddy/access.log {
|
||
roll_size 10MB
|
||
roll_keep 5
|
||
roll_keep_for 48h
|
||
}
|
||
}
|
||
|
||
encode gzip
|
||
|
||
}
|
||
|
||
|
||
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}
|
||
}
|
||
}
|
||
mailsync.bizmatch.net {
|
||
reverse_proxy host.docker.internal:5000 {
|
||
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}
|
||
}
|
||
}
|
||
##############
|
||
##### QRMASTER
|
||
##############
|
||
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
|
||
}
|
||
##############
|
||
##### INNUNGSAPP
|
||
##############
|
||
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
|
||
}
|
||
##############
|
||
##### BAYAREA
|
||
##############
|
||
bayarea-cc.com {
|
||
# 1. API Requests -> NestJS Backend auf Port 3073
|
||
handle /api/* {
|
||
reverse_proxy host.docker.internal:3073
|
||
}
|
||
|
||
# 2. Frontend Requests -> Angular Nginx auf Port 3072
|
||
handle {
|
||
reverse_proxy host.docker.internal:3072
|
||
}
|
||
|
||
log {
|
||
output file /var/log/caddy/bayarea.access.log
|
||
}
|
||
encode gzip zstd
|
||
}
|
||
|
||
www.bayarea-cc.com {
|
||
redir https://bayarea-cc.com{uri} permanent
|
||
}
|
||
|
||
##############
|
||
##### ANNAVILLE
|
||
##############
|
||
annavillesda.org {
|
||
# API requests to backend
|
||
handle /api/* {
|
||
reverse_proxy host.docker.internal:3070
|
||
}
|
||
|
||
# Frontend requests to Nginx container
|
||
handle {
|
||
reverse_proxy host.docker.internal:3071
|
||
}
|
||
|
||
log {
|
||
output file /var/log/caddy/annaville.access.log
|
||
}
|
||
|
||
encode gzip
|
||
}
|
||
|
||
www.annavillesda.org {
|
||
redir https://annavillesda.org{uri} permanent
|
||
}
|
||
##############
|
||
##### GREENLENS
|
||
##############
|
||
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
|
||
}
|
||
}
|
||
############################
|
||
##### config.email-bayarea.com
|
||
############################
|
||
config.email-bayarea.com {
|
||
# 1. API-Anfragen an das Node.js Backend weiterleiten
|
||
handle /api/* {
|
||
reverse_proxy config-email-backend:3001
|
||
}
|
||
handle /health {
|
||
reverse_proxy config-email-backend:3001
|
||
}
|
||
|
||
# 2. Alles andere an das Nginx Frontend weiterleiten
|
||
handle {
|
||
reverse_proxy config-email-frontend:80
|
||
}
|
||
|
||
log {
|
||
output file /var/log/caddy/config-email.log
|
||
format console
|
||
}
|
||
encode gzip zstd
|
||
}
|
||
##############
|
||
##### POCS
|
||
##############
|
||
cielectrical.bayarea-cc.com {
|
||
handle {
|
||
# Direkter Proxy zum Next.js Container im bizmatch Netzwerk
|
||
reverse_proxy cielectrical-web:3000
|
||
}
|
||
log {
|
||
output file /var/log/caddy/cielectrical.log
|
||
format console
|
||
}
|
||
encode gzip zstd
|
||
}
|
||
hamptonbrown.bayarea-cc.com {
|
||
# wenn du API innerhalb von Next bedienst, weiterleiten an den Next Prozess
|
||
handle {
|
||
reverse_proxy host.docker.internal:3010
|
||
}
|
||
log {
|
||
output file /var/log/caddy/hamptonbrown.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
}
|
||
nqsltd.bayarea-cc.com {
|
||
# wenn du API innerhalb von Next bedienst, weiterleiten an den Next Prozess
|
||
handle {
|
||
reverse_proxy host.docker.internal:3020
|
||
}
|
||
log {
|
||
output file /var/log/caddy/nqsltd.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
}
|
||
gregknoppcpa.bayarea-cc.com {
|
||
# wenn du API innerhalb von Next bedienst, weiterleiten an den Next Prozess
|
||
handle {
|
||
reverse_proxy host.docker.internal:3030
|
||
}
|
||
log {
|
||
output file /var/log/caddy/gregknoppcpa.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
}
|
||
buddelectric.bayarea-cc.com {
|
||
handle {
|
||
# NEU: Direkter Proxy zum Container auf dem nativen Next.js Port
|
||
reverse_proxy buddelectric:3000
|
||
}
|
||
log {
|
||
output file /var/log/caddy/buddelectric.log
|
||
format console
|
||
}
|
||
encode gzip zstd
|
||
}
|
||
iitwelders.bayarea-cc.com {
|
||
# wenn du API innerhalb von Next bedienst, weiterleiten an den Next Prozess
|
||
handle {
|
||
reverse_proxy host.docker.internal:8080
|
||
}
|
||
log {
|
||
output file /var/log/caddy/iitwelders.log
|
||
format console
|
||
}
|
||
encode gzip
|
||
} |