# OpenCRM Docker Environment # ============================ # Copy this file to .env and adjust the values # Domain (for Caddy SSL certificate) # Use your actual domain, e.g., crm.example.com DOMAIN=localhost # Database # HINWEIS: In diesem Stack wird die Verbindungs-URL direkt aus diesen Werten # zusammengesetzt. Sonderzeichen im Passwort ($ ! # @ : / ?) koennen die URL # zerlegen und den Start verhindern. Nutze hier ein langes Passwort aus # Buchstaben und Ziffern - oder den Stack im Projektstamm, dessen Entrypoint # die Zeichen korrekt kodiert. DB_ROOT_PASSWORD=change-this-root-password DB_NAME=opencrm DB_USER=opencrm DB_PASSWORD=change-this-password # JWT Authentication # Generate with: openssl rand -base64 32 JWT_SECRET=change-this-to-a-secure-random-string # Access-Token kurz (XSS-Schutz, Token lebt nur im JS-Memory). # Refresh-Token lang im httpOnly-Cookie. JWT_EXPIRES_IN=15m JWT_REFRESH_EXPIRES_IN=7d # Encryption Key (for portal credentials) # Generate with: openssl rand -hex 32 ENCRYPTION_KEY=change-this-to-a-32-byte-hex-key # TLS: In diesem Stack terminiert Caddy das HTTPS. Das Flag setzt das # Secure-Attribut am Refresh-Cookie, trust proxy = 1 Hop und # upgrade-insecure-requests in der CSP. # Nur auf false setzen, wenn der Stack bewusst ohne TLS laeuft (reiner Test). HTTPS_ENABLED=true # Nur noetig, wenn das Frontend unter einer ANDEREN Domain laeuft als das # Backend. Beim Standard-Setup (alles hinter derselben Caddy-Domain) leer # lassen. CORS_ORIGINS= # Cloud-Deploy: blockt zusaetzlich private IP-Ranges, damit ein eingeloggter # Admin ueber die Provider-/SMTP-Testverbindung keine internen Dienste # anpingen kann. On-Prem meist false, weil Mailserver oft lokal laufen. SSRF_BLOCK_PRIVATE_IPS=false # First Install: Set to "true" to seed database on first startup # After first successful start, set back to "false" RUN_SEED=true # ---------- Siegel für das Audit-Log ---------- # Signiert jeden neuen Audit-Eintrag mit einem Schlüssel ausserhalb der # Datenbank, damit sich die Beweisspur nicht nachtraeglich faelschen laesst. # Generieren: openssl rand -hex 32 (pro Umgebung ein eigener Wert). # Ohne Wert laeuft alles normal weiter, nur ungesiegelt. # Einmal gesetzt nicht wieder entfernen - Details in der README. AUDIT_HMAC_KEY= # Nur beim Schluesselwechsel: frueherer Schluessel, mehrere kommagetrennt. AUDIT_HMAC_KEY_OLD=