From b5a3c3fe210157c874a2a9509ae2d865378781b3 Mon Sep 17 00:00:00 2001 From: nilsjohan Date: Tue, 14 Apr 2026 15:50:07 +0200 Subject: [PATCH] Updatede [common] to handle cookies Websocket support on Wetty --- conf/Caddyfile | 5 ++ conf/Caddyfile.2026-04-14 | 127 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 conf/Caddyfile.2026-04-14 diff --git a/conf/Caddyfile b/conf/Caddyfile index 7d88e95..e7db7a2 100644 --- a/conf/Caddyfile +++ b/conf/Caddyfile @@ -10,6 +10,8 @@ header { X-Frame-Options "SAMEORIGIN" X-Content-Type-Options "nosniff" + # Säker cookie för sessionhantering + Set-Cookie "session_id=default; Path=/; SameSite=Lax; Secure; HttpOnly" } } @@ -51,6 +53,9 @@ wetty.gynther.se { import common redir / /wetty reverse_proxy wetty:3001 + transport http { + websocket # Aktivera WebSocket-stöd + } } portainer.gynther.se { diff --git a/conf/Caddyfile.2026-04-14 b/conf/Caddyfile.2026-04-14 new file mode 100644 index 0000000..7d88e95 --- /dev/null +++ b/conf/Caddyfile.2026-04-14 @@ -0,0 +1,127 @@ +#(simpleAuth) +(auth) { + basic_auth { + admin $2a$14$DahHUWD2cKyXJ96sH5VQwuQv1bqmIn0gsdoSaw4mofzfdNY2Y0VsO + } +} + +(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 auth + import common + redir / /wetty + reverse_proxy wetty:3001 +} + +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 +# ============================================ +recept.gynther.se { + import auth + import common + + # === IMPORT SERVICE (Document Converter) === + # Dessa endpoints måste komma FÖRST innan backend reglerna! + handle /api/recipes/import* { + reverse_proxy recipe-import-service:3000 + } + + # === RECIPE FRONTEND PROXY ENDPOINTS === + # Next.js API routes + 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 ENDPOINTS === + # Backend körs på port 8080 (från docker-compose) + 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 === + handle /health { + reverse_proxy recipe-api:8080 + } + + # === CATCH ALL === + # Övriga /api/* går till frontend + handle /api/* { + reverse_proxy recipe-frontend:3000 + } + + # Frontend - catch all remaining routes (port 3000) + reverse_proxy /* recipe-frontend:3000 +}