# Caddyfile - Reverse Proxy Configuration # Development setup för recipe-app + import-service # # Routing: # - Frontend: :4000 → localhost/ # - Backend API: :3001 → localhost/api/ # - Import Service: :3000 → localhost/api/recipes/import/ # # Production setup: Ersätt localhost med din domain localhost { # ============================================ # IMPORT SERVICE (Document Converter) # ============================================ # Dessa endpoints måste komma FÖRST! # 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 # ============================================ # Next.js API routes som proxy handle /api/inventory-history-proxy { reverse_proxy recipe-app-backend:3001 } handle /api/admin/merge-preview-proxy { reverse_proxy recipe-app-backend:3001 } handle /api/recipe-preview-proxy { reverse_proxy recipe-app-backend:3001 } # ============================================ # RECIPE BACKEND API ENDPOINTS # ============================================ handle /api/products* { reverse_proxy recipe-app-backend:3001 } handle /api/inventory* { reverse_proxy recipe-app-backend:3001 } handle /api/recipes* { reverse_proxy recipe-app-backend:3001 } # ============================================ # HEALTH CHECKS # ============================================ handle /health { reverse_proxy recipe-app-backend:3001 } # ============================================ # CATCH ALL # ============================================ # Övriga /api/* går till frontend handle /api/* { reverse_proxy recipe-app-frontend:4000 } # Frontend - catch all remaining routes reverse_proxy /* recipe-app-frontend:4000 # Enable gzip compression encode gzip }