Skip to content

Umgebungsvariablen

Alle von NENE2 unterstützten Umgebungsvariablen. Setzen Sie diese in .env (von phpdotenv geladen) oder exportieren Sie sie vor dem Serverstart.

Anwendung

VariableTypStandardBeschreibung
APP_ENVstringlocalLaufzeitumgebung. Gültige Werte: local, test, production.
APP_DEBUGbooleanfalseDebug-Ausgabe aktivieren. Nur in der Entwicklung auf true setzen.
APP_NAMEstringNENE2Anwendungsname für Log-Ausgaben. Darf nicht leer sein.
PROBLEM_DETAILS_BASE_URLstringhttps://nene2.dev/problems/Basis-URL, die den type-Bezeichnern von Problem Details vorangestellt wird. Bei benutzerdefinierten Problemtypen auf eigener Domain überschreiben.

Authentifizierung

VariableTypStandardBeschreibung
NENE2_MACHINE_API_KEYstring(leer — deaktiviert)API-Schlüssel, der im X-NENE2-API-Key-Header für Machine-Client-Endpunkte erwartet wird. Leer lassen, um den Machine-Key-Pfad zu deaktivieren.
NENE2_LOCAL_JWT_SECRETstring(leer — deaktiviert)HMAC-HS256-Geheimnis, das LocalBearerTokenVerifier verwendet. Aktiviert die Bearer-JWT-Prüfung für GET /examples/protected und schützt die Schreibwerkzeuge des lokalen MCP-Servers. Leer lassen, um die JWT-Authentifizierung zu deaktivieren und nur lesenden MCP-Zugriff zuzulassen. Bei Auflösung über Nene2\Auth\GuardedJwtSecretResolver schlägt ein leerer Wert fail-closed fehl, sofern nicht der unten stehende Entwicklungs-Opt-in gesetzt ist (niemals in der Produktion).
NENE2_ALLOW_DEV_SECRETboolean (strikt)falseEntwicklungs-Opt-in, das Nene2\Auth\GuardedJwtSecretResolver liest (verfügbar als AppConfig::$allowDevSecret). Akzeptiert nur 1, true oder yes (Groß-/Kleinschreibung egal, getrimmt); jeder andere Wert — auch ein Tippfehler — bedeutet Opt-out. Wenn NENE2_LOCAL_JWT_SECRET in einer local/test-Umgebung nicht gesetzt ist, erlaubt dies das vom Produkt injizierte Entwicklungsgeheimnis. In der Produktion ignoriert — dort wird immer fail-closed abgebrochen. Siehe ADR 0013.

Lokaler MCP-Server

VariableTypStandardBeschreibung
NENE2_LOCAL_API_BASE_URLstring(erforderlich)Basis-URL für API-Proxying durch den MCP-Server (z.B. http://app). Erforderlich bei Verwendung von Docker Compose.

Datenbank

VariableTypStandardBeschreibung
DATABASE_URLstring(leer — verwendet DB_*)Vollständige Datenbankverbindungs-URL. Wenn nicht leer, überschreibt alle DB_*-Variablen.
DB_ADAPTERstringmysqlDatenbanktreiber. Gültig: sqlite, mysql, pgsql (experimentell — siehe PostgreSQL verwenden).
DB_HOSTstring127.0.0.1Datenbankhost. Nicht verwendet von SQLite. Innerhalb von Docker Compose überschreibt compose.yaml diesen Wert für den app-Dienst mit mysql.
DB_PORTinteger3306Datenbankport (1–65535). Nicht validiert für SQLite.
DB_NAMEstringnene2Datenbankname. Bei SQLite: Dateipfad (z. B. /tmp/myapp.sqlite).
DB_USERstringnene2Datenbankbenutzername. Nicht verwendet von SQLite.
DB_PASSWORDstring(leer)Datenbankpasswort.
DB_CHARSETstringutf8mb4Datenbankzeichensatz. Nicht verwendet von SQLite.
DB_ENVstringlocalName der Phinx-Migrationsumgebung (siehe phinx.php).

SQLite-Adapter

Bei DB_ADAPTER=sqlite ist nur DB_NAME (der Dateipfad) erforderlich. DB_HOST, DB_USER und DB_CHARSET werden nicht validiert und müssen nicht gesetzt werden.

dotenv
DB_ADAPTER=sqlite
DB_NAME=/tmp/myapp.sqlite

Für In-Memory-SQLite (nützlich in Tests) verwenden Sie DB_NAME=:memory:.

Keine Geheimnisse committen

Committen Sie keine .env-Dateien mit Passwörtern, API-Schlüsseln oder JWT-Geheimnissen.

Veröffentlicht unter der MIT-Lizenz.