# Kopie als deploy/.env ablegen und Werte setzen. .env NIE committen. # --- Postgres --- # Nur URL-sichere Zeichen (A-Za-z0-9_-): das Passwort landet auch in Hydras DSN-URL. PG_PASSWORD=CHANGE_ME # --- Hydra --- # openssl rand -hex 32 — nach Erstinbetriebnahme NICHT mehr ändern. SECRETS_SYSTEM=CHANGE_ME # Öffentlicher OAuth-Issuer (Reverse-Proxy-vHost auf hydra:4444). MUSS im Betrieb # per HTTPS erreichbar sein — der MCP-Server validiert JWTs dagegen mit # RequireHttpsMetadata=true. Für reinen lokalen Smoke ohne Token-Flow: # http://127.0.0.1:4444 (der MCP-200-Tool-Call gelingt damit NICHT, siehe README). PUBLIC_ISSUER=https://mcp-oauth.example.com # Basis-URL des Login-Services (Reverse-Proxy-vHost auf login:8081). LOGIN_URL=https://mcp-login.example.com # --- MCP --- # Öffentliche Basis-URL des MCP-Resource-Servers (Reverse-Proxy-vHost auf mcp:8080). MCP_RESOURCE_URL=https://mcp.example.com # --- SAP Service Layer --- # Trailing /b1s/ ist Pflicht (relative Pfade wie v2/Login). SL_BASE_URL=https://sap-server.example.com:50000/b1s/ SL_COMPANYDB=CHANGE_ME # true nur bei self-signed SAP-Zertifikat. SL_INSECURE=false # --- Admin-UI --- # Nur dieser SAP-Benutzer darf das Admin-UI öffnen (gegen den Service Layer geprüft). # PFLICHT — ohne diesen Wert lässt der Admin-Dienst niemanden hinein (fail closed). ADMIN_SAP_USER=manager # --- MCP-Zugriff (Allowlist) --- # Kommagetrennte SAP-UserCodes, die den MCP IMMER nutzen dürfen. Alle anderen sind # per Default AUS und werden im Admin-UI unter „Zugriff" freigeschaltet. MCP_ALLOWED_USERS=manager # --- Host-Ports / Bind-IPs (für den Reverse Proxy) --- MCP_HOST_PORT=8080 LOGIN_HOST_PORT=8081 ADMIN_HOST_PORT=8082 HYDRA_PUBLIC_HOST_PORT=4444 # NUR an die interne Host-IP binden, die der Reverse Proxy erreicht — NIE 0.0.0.0. # Default 127.0.0.1 ist sicher (Proxy auf demselben Host). #BIND_ADDR=127.0.0.1 # Bind-IP der Admin-UI (inkl. /audit hinter dem SAP-Login-Gate): Default 127.0.0.1. #ADMIN_BIND=127.0.0.1 # --- Deployment (setzt setup.sh automatisch) --- # Host-Pfad des Deployments — braucht die Update-Funktion des Admin-UI. PROJECT_DIR= # Hinweis: CREDS_KEY kommt NICHT aus .env, sondern als Secret-Datei # deploy/secrets/creds_key (32 Byte base64: openssl rand -base64 32).