127 lines
3.1 KiB
Caddyfile
127 lines
3.1 KiB
Caddyfile
# Production Caddyfile för recipe-app + import-service
|
|
# Uppdaterad för import-service integration
|
|
# Placera denna fil på: /opt/containers/caddy/conf/Caddyfile
|
|
|
|
(common) {
|
|
encode gzip zstd
|
|
header {
|
|
X-Frame-Options "SAMEORIGIN"
|
|
X-Content-Type-Options "nosniff"
|
|
}
|
|
}
|
|
|
|
test.gynther.se {
|
|
respond "det fungerar"
|
|
}
|
|
|
|
bazarr.gynther.se {
|
|
import common
|
|
reverse_proxy http://bazarr:6767
|
|
}
|
|
|
|
prowlarr.gynther.se {
|
|
import common
|
|
reverse_proxy http://prowlarr:9696
|
|
}
|
|
|
|
radarr.gynther.se {
|
|
import common
|
|
reverse_proxy http://radarr:7878
|
|
}
|
|
|
|
sonarr.gynther.se {
|
|
import common
|
|
reverse_proxy http://sonarr:8989
|
|
}
|
|
|
|
jellyfin.gynther.se {
|
|
reverse_proxy http://jellyfin:8096
|
|
}
|
|
|
|
qbittorrent.gynther.se {
|
|
import common
|
|
reverse_proxy 192.168.50.4:8080
|
|
}
|
|
|
|
wetty.gynther.se {
|
|
import common
|
|
basic_auth {
|
|
admin $2a$14$DahHUWD2cKyXJ96sH5VQwuQv1bqmIn0gsdoSaw4mofzfdNY2Y0VsO
|
|
}
|
|
redir / /wetty
|
|
reverse_proxy wetty:3000
|
|
}
|
|
|
|
portainer.gynther.se {
|
|
reverse_proxy portainer:9000
|
|
}
|
|
|
|
gitea.gynther.se {
|
|
import common
|
|
reverse_proxy 192.168.50.2:3002
|
|
}
|
|
|
|
# ============================================
|
|
# Import Service (Document Converter) - Standalone UI
|
|
# ============================================
|
|
import.gynther.se {
|
|
import common
|
|
reverse_proxy recipe-import-service:3000
|
|
}
|
|
|
|
# ============================================
|
|
# Recipe App + Import Service Integration
|
|
# ============================================
|
|
recept.gynther.se {
|
|
import common
|
|
|
|
# === IMPORT SERVICE (Document Converter) ===
|
|
# Dessa endpoints måste komma FÖRST innan backend/frontend reglerna!
|
|
# POST /api/recipes/import/pdf - Importera PDF (preview)
|
|
# POST /api/recipes/import/pdf/save - Importera och spara
|
|
# GET /api/recipes/import/health - Health check
|
|
|
|
handle /api/recipes/import* {
|
|
reverse_proxy recipe-import-service:3000
|
|
}
|
|
|
|
# === RECIPE FRONTEND PROXY ENDPOINTS ===
|
|
# Proxy-endpoints för Next.js API routes (måste komma FÖRE backend-reglerna!)
|
|
handle /api/inventory-history-proxy {
|
|
reverse_proxy recipe-frontend:3000
|
|
}
|
|
handle /api/admin/merge-preview-proxy {
|
|
reverse_proxy recipe-frontend:3000
|
|
}
|
|
handle /api/recipe-preview-proxy {
|
|
reverse_proxy recipe-frontend:3000
|
|
}
|
|
|
|
# === RECIPE BACKEND API ===
|
|
# Proxy specifika backend-endpoints
|
|
handle /api/products* {
|
|
reverse_proxy recipe-api:8080
|
|
}
|
|
handle /api/inventory* {
|
|
reverse_proxy recipe-api:8080
|
|
}
|
|
handle /api/recipes* {
|
|
reverse_proxy recipe-api:8080
|
|
}
|
|
|
|
# === HEALTH CHECKS ===
|
|
# Health endpoint för backend
|
|
handle /health {
|
|
reverse_proxy recipe-api:8080
|
|
}
|
|
|
|
# === CATCH ALL ===
|
|
# Övriga /api/* går till Next.js frontend
|
|
handle /api/* {
|
|
reverse_proxy recipe-frontend:3000
|
|
}
|
|
|
|
# Alla andra requests går till frontend (Next.js)
|
|
reverse_proxy recipe-frontend:3000
|
|
}
|