Eigen Mesh Umgebungsvariablen
Kurz gesagt: Diese Einstellungen sagen einem selbst gehosteten Eigen-Mesh-Deployment, wie es sich mit seiner Datenbank verbindet, Daten verschlüsselt und das LLM-Gateway aufruft — setze sie in .env, bevor du Docker startest.
Setze diese Variablen in .env im Root des eigen-Repositorys oder in deinem Hosting-Dashboard (Coolify o. Ä.). Compose reicht DATABASE_URL, AGE_GRAPH_NAME, HOST und PORT automatisch an den App-Container weiter.
Als Secrets markierte Variablen (BETTER_AUTH_SECRET, TENANT_MASTER_KEY, API-Keys, OAuth-Client-Secrets) dürfen nicht in die Versionskontrolle eingecheckt werden. Ändere Standardpasswörter, bevor du in Produktion gehst.
Für wen das relevant ist
- Operatoren, die ein selbst gehostetes Docker-Deployment konfigurieren
- Contributor, die kanonische Variablennamen und Defaults nachschlagen
Zwingend erforderlich (App startet sonst nicht)
| Variable |
Zweck |
Wie setzen |
BETTER_AUTH_SECRET |
Session-Verschlüsselung |
openssl rand -base64 32 |
TENANT_MASTER_KEY |
Envelope-Verschlüsselung pro Tenant |
openssl rand -base64 32 — siehe Tenant-Envelope-Verschlüsselung |
AGE_GRAPH_NAME |
Name des Apache-AGE-Graphen (muss zur Postgres-Initialisierung passen) |
eigen_graph (Default) |
ORIGIN |
Öffentliche URL für Nutzer und OAuth-Callbacks |
z. B. https://eigen.example.com |
Datenbank
| Variable |
Default |
Zweck |
DATABASE_URL |
postgres://eigen:eigen@db:5432/eigen |
Connection-String der App |
DATABASE_ADMIN_URL |
Wie oben |
Migrationen, RLS, pg_cron (Superuser) |
POSTGRES_PASSWORD |
eigen |
DB-Passwort — in Produktion ändern |
EIGEN_APP_DB_PASSWORD |
— |
Passwort für die RLS-Rolle eigen_app |
Nutzer laden per PayPal auf; die App verwendet die Service-Keys des Operators.
| Variable |
Zweck |
SERVICE_API_KEY_EUROUTER |
EUrouter-Service-Key |
LLM_BASE_URL |
EUrouter-API-Origin (ohne abschließenden Slash), z. B. https://api.eurouter.ai/v1 |
LLM_RULE_CHAT |
EUrouter-Routing-Regel-UUID für Chat |
LLM_RULE_EMBEDDING |
EUrouter-Routing-Regel-UUID für Embeddings |
SERVICE_API_KEY_OPENROUTER |
OpenRouter-Service-Key (falls OpenRouter genutzt wird) |
OPENROUTER_BASE_URL |
z. B. https://openrouter.ai/api/v1 |
LLM-Gateway — BYOK-Fallback
Wird verwendet, wenn Nutzer eigene Keys unter Settings → LLM → BYOK hinterlegen, oder als Env-Fallback:
| Variable |
Zweck |
LLM_API_KEY |
Fallback-API-Key für EUrouter |
OPENROUTER_API_KEY |
Fallback-API-Key für OpenRouter |
| Variable |
Zweck |
PAYPAL_API_BASE |
https://api-m.sandbox.paypal.com (Sandbox) oder https://api-m.paypal.com (Live) |
PAYPAL_CLIENT_ID |
Client-ID der PayPal-REST-App |
PAYPAL_CLIENT_SECRET |
Secret der PayPal-REST-App |
Lass die PayPal-Variablen weg, wenn alle Nutzer ausschließlich BYOK verwenden.
Konsolidierung (nächtlicher Sleep)
| Variable |
Erforderlich |
Zweck |
ADMIN_CONSOLIDATION_KEY |
Ja (für Cron) |
X-Admin-Key am Consolidate-Endpoint — openssl rand -hex 32 |
CONSOLIDATION_INTERNAL_URL |
Ja (Compose) |
App-URL aus dem DB-Netzwerk, z. B. http://app:3000 |
CONSOLIDATION_CRON_SCHEDULE |
Nein |
Cron-Ausdruck (Default 0 2 * * *) |
CONSOLIDATION_CRON_TZ |
Nein |
Zeitzone (Default UTC) |
OAuth (optional)
| Variable |
Zweck |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET |
Google-Anmeldung — Callback {ORIGIN}/api/auth/callback/google |
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET |
GitHub-Anmeldung — Callback {ORIGIN}/api/auth/callback/github |
Push-Benachrichtigungen (optional)
| Variable |
Zweck |
VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_SUBJECT |
Web-Push — npx web-push generate-vapid-keys |
Admin-Bootstrap (optional)
| Variable |
Zweck |
ADMIN_NAME, ADMIN_EMAIL, ADMIN_PASSWORD |
Ersten Admin beim Container-Start anlegen |
Feintuning (optional)
| Variable |
Default |
Zweck |
LLM_MIN_REQUEST_INTERVAL_MS |
1000 |
Globale LLM-Drosselung |
EMBEDDING_COMPRESS_INTENSITY |
— |
lite | full | ultra |
Nächste Schritte