# OpenCRM Caddyfile # =================== # Wird NUR gebraucht, wenn du den optionalen Caddy-Dienst startest: # docker-compose --profile caddy up -d # Caddy holt und erneuert dann das SSL-Zertifikat automatisch fuer ${DOMAIN}. # Betreibst du bereits einen eigenen Reverse-Proxy (nginx, NPM, Traefik), # brauchst du diese Datei nicht - dann laeuft alles ueber deinen Proxy. {$DOMAIN:localhost} { # Reverse proxy to OpenCRM app reverse_proxy opencrm:3001 # Logging log { output stdout format console } # Security headers header { # Clickjacking protection X-Frame-Options "SAMEORIGIN" # XSS protection X-Content-Type-Options "nosniff" X-XSS-Protection "1; mode=block" # Referrer policy Referrer-Policy "strict-origin-when-cross-origin" } # Gzip compression – NUR fuer statische Assets, NICHT fuer /api/*. # Komprimierte API-Antworten ermoeglichen die BREACH-Attacke # (CVE-2013-3587): aus der Antwortgroesse liessen sich unter bestimmten # Bedingungen Geheimnisse aus JSON-Responses ableiten. Statische Dateien # sind davon nicht betroffen und bleiben komprimiert. @nicht_api not path /api/* encode @nicht_api gzip # Handle file uploads (increase body limit) request_body { max_size 50MB } }