Umgebungsvariablen
Diese Seite listet alle Umgebungsvariablen auf, die vom Swiss AI Hub Deployment gelesen werden, gruppiert nach ihrer Rolle. Sie wird automatisch aus den Pydantic-Settings-Klassen in packages/*/swiss_ai_hub/**/*settings.py und den Docker-Compose-Templates generiert. Bearbeiten Sie sie nicht manuell – führen Sie make generate-env-docs aus, um sie zu aktualisieren.
Variablen fallen in drei Kategorien:
- Compose-erforderlich — referenziert als
${VAR}indocker-compose.yml. Muss in.envgesetzt werden, da die Compose-Templates des Projekts keine Fallback-Standardwerte bereitstellen. - App-erforderlich — wird als Pflichtfeld von einer Pydantic
BaseSettings-Klasse gelesen. Die Anwendung startet nicht, wenn es nicht gesetzt ist. - Optional — hat einen Standardwert im Code. Nur in
.envsetzen, um den Standardwert zu überschreiben.
Das Deployment hat eine Basisvariante (CPU) sowie reine Erweiterungsvarianten (GPU). Der erste Abschnitt unten listet alle für die Basis erforderlichen Variablen auf; nachfolgende Abschnitte listen nur die zusätzlichen Variablen auf, die jede Erweiterung über die Basis hinaus einführt.
Variablen für das Basis-Deployment (CPU)
Erforderlich für die Docker-Compose-Interpolation
Diese Variablen werden als ${VAR} (ohne einen ${VAR:-default} Fallback) irgendwo in docker-compose.yml referenziert. Das Compose-Parsing schlägt fehl oder rendert leere Werte, wenn .env sie nicht definiert. Die Spalte "Consumer" zeigt das Pydantic-Settings-Feld an, das die Variable liest, wenn unser Python-Code sie konsumiert; andernfalls verweist sie auf die Konfigurationsdatei, die sie einbettet (Keycloak-Realm-Import, Identity-Provider-Konfiguration usw.) oder – falls keines davon zutrifft – bleibt sie leer. Die Spalte "Service(s)" listet die Compose-Services auf, deren environment:-Block die Variable empfängt.
| Variable | Consumer | Service(s) | Description |
|---|---|---|---|
ACME_EMAIL | traefik | ||
ADMIN_EMAIL | open-webui | ||
ADMIN_PASSWORD_HASH | traefik | ||
AIHUB_CREATE_DEFAULT_BUCKETS | AIHubSettings.CREATE_DEFAULT_BUCKETS | api, seaweedfs-init | Erstellt Standard-Wissens-Buckets und -Namespaces |
AIHUB_DEFAULT_BUCKET_NAME | AIHubSettings.DEFAULT_BUCKET_NAME | api, default_rag_pipeline, seaweedfs-init | Name des Standard-Wissens-Buckets |
AIHUB_DEFAULT_NAMESPACE_NAME | AIHubSettings.DEFAULT_NAMESPACE_NAME | api | Name des Standard-Namespaces |
AIHUB_SHARED_BUCKET_NAME | AIHubSettings.SHARED_BUCKET_NAME | api, seaweedfs-init, shared_rag_pipeline | Name des geteilten Wissens-Buckets |
AIHUB_SHARED_NAMESPACE_NAME | AIHubSettings.SHARED_NAMESPACE_NAME | api | Name des geteilten Namespaces |
AIHUB_STARTUP_TENANT_ACCESS_RULES | StartupTenantSettings.ACCESS_RULES | api | Komma-getrennte Zugriffsregeln für den Startup-Mandanten. Verwenden Sie 'aihub.admin.>' für uneingeschränkten Zugriff auf alle Plattformfunktionen. |
AIHUB_STARTUP_TENANT_DESCRIPTION | StartupTenantSettings.DESCRIPTION | api | Beschreibung des Startup-Mandanten. |
AIHUB_STARTUP_TENANT_ID | StartupTenantSettings.ID | api, keycloak | Eindeutiger Identifikator für den Startup-Mandanten. Wird auch als Keycloak-Gruppenname verwendet. |
AIHUB_STARTUP_TENANT_NAME | StartupTenantSettings.NAME | api | Anzeigename des Startup-Mandanten. |
AIHUB_USER_SIGNUP_FIRST_ADMIN_USER_ROLES | UserSignupSettings.FIRST_ADMIN_USER_ROLES | api | Komma-getrennte Liste der Rollen, die dem allerersten Benutzer zugewiesen werden. Dieser Benutzer ist typischerweise der anfängliche Plattformadministrator. |
AIHUB_USER_SIGNUP_REGULAR_USER_ROLES | UserSignupSettings.REGULAR_USER_ROLES | api | Komma-getrennte Liste der Rollen, die regulären Benutzern (nicht dem ersten Benutzer) zugewiesen werden. Diese Benutzer haben typischerweise Standardzugriff auf die Plattform. |
AIHUB_VERSION | AIHubSettings.VERSION | api, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | Version der App |
AUTH_OPEN_WEBUI_SIGNING_SECRET | AuthSettings.OPEN_WEBUI_SIGNING_SECRET | api, open-webui, sysadmin-api | OpenWebUI Signatur-Secret |
BACKUP_MINIMUM_KEEP | BackupSettings.MINIMUM_KEEP | backup-code | |
BACKUP_POSTGRES_SUBPROCESS_TIMEOUT_SECONDS | BackupSettings.POSTGRES_SUBPROCESS_TIMEOUT_SECONDS | backup-code | |
BACKUP_RETENTION_DAYS | BackupSettings.RETENTION_DAYS | backup-code | |
BACKUP_S3_BUCKET | BackupSettings.S3_BUCKET | backup-code | |
DAGSTER_CLEANUP_BATCH_LIMIT | backup-code | ||
DAGSTER_DB | backup-code | ||
DAGSTER_DEBUG_LOG_RETENTION_DAYS | backup-code | ||
DAGSTER_INFO_LOG_RETENTION_DAYS | backup-code | ||
DAGSTER_UNIMPORTANT_EVENT_RETENTION_DAYS | backup-code | ||
DAGSTER_WARNING_LOG_RETENTION_DAYS | backup-code | ||
DOMAIN | 30-clients.json, realm-settings.json | api, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, keycloak, keycloak-config, langfuse-web, litellm, llm_wrapping_agent, namespace_selection_agent, oauth2proxy-attu, oauth2proxy-backup, oauth2proxy-dagster, oauth2proxy-seaweed, open-webui, rag_agent, retrieval_agent, seaweedfs-s3, shared_rag_pipeline, sysadmin-api, sysadmin-web, traefik, web | |
ENV | api, open-webui, sysadmin-api | ||
ETCD_TOKEN | etcd, etcd-init, milvus-standalone, seaweedfs-filer | ||
EXPERT_ASKING_CHANNEL_TYPE | expert_asking_agent | ||
GEMINI_API_KEY | litellm | ||
HUGGINGFACE_API_KEY | litellm, vllm, vllm-bge-m3, vllm-bge-reranker | ||
JUPYTER_TOKEN | api, jupyter, open-webui | ||
KEYCLOAK_ADMIN_PASSWORD | keycloak, keycloak-config | ||
KEYCLOAK_ADMIN_USER | keycloak, keycloak-config | ||
KEYCLOAK_API_SERVICE_CLIENT_SECRET | KeycloakSettings.API_SERVICE_CLIENT_SECRET | api, bot, keycloak, keycloak-config, sysadmin-api | Client Secret für das API-Service-Konto |
KEYCLOAK_AZURE_CLIENT_ID | identity-providers.json | keycloak, keycloak-config | |
KEYCLOAK_AZURE_CLIENT_SECRET | identity-providers.json | keycloak, keycloak-config | |
KEYCLOAK_AZURE_TENANT_ID | identity-providers.json | keycloak, keycloak-config | |
KEYCLOAK_OAUTH2_PROXY_ATTU_SECRET | 30-clients.json | keycloak, keycloak-config, oauth2proxy-attu | |
KEYCLOAK_OAUTH2_PROXY_BACKUP_SECRET | 30-clients.json | keycloak, keycloak-config, oauth2proxy-backup | |
KEYCLOAK_OAUTH2_PROXY_DAGSTER_SECRET | 30-clients.json | keycloak, keycloak-config, oauth2proxy-dagster | |
KEYCLOAK_OAUTH2_PROXY_DATALAKE_SECRET | 30-clients.json | keycloak, keycloak-config, oauth2proxy-seaweed | |
KEYCLOAK_OPENWEBUI_CLIENT_SECRET | 30-clients.json | keycloak, keycloak-config, open-webui | |
KEYCLOAK_SHOW_KEYCLOAK_LOGIN | KeycloakSettings.SHOW_KEYCLOAK_LOGIN | api, sysadmin-api | Zeigt einen direkten Keycloak-Login-Button neben föderierten IDPs an |
LANGFUSE_ALLOWED_ORGANIZATION_CREATORS | langfuse-web | ||
LANGFUSE_CLICKHOUSE_PASSWORD | backup-code, clickhouse, langfuse-web, langfuse-worker | ||
LANGFUSE_ENCRYPTION_KEY | langfuse-web, langfuse-worker | ||
LANGFUSE_INIT_USER_EMAIL | langfuse-web | ||
LANGFUSE_INIT_USER_PASSWORD | langfuse-web | ||
LANGFUSE_KEYCLOAK_CLIENT_SECRET | keycloak, keycloak-config, langfuse-web | ||
LANGFUSE_NEXTAUTH_SECRET | langfuse-web | ||
LANGFUSE_PUBLIC_KEY | LangfuseSettings.PUBLIC_KEY | api, langfuse-web, otel-collector | Langfuse öffentlicher API-Schlüssel |
LANGFUSE_SALT | langfuse-web, langfuse-worker | ||
LANGFUSE_SECRET_KEY | LangfuseSettings.SECRET_KEY | api, langfuse-web, otel-collector | Langfuse privater API-Schlüssel |
LITELLM_MASTER_KEY | litellm-config.yml | api, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, litellm, llm_wrapping_agent, mineru-api, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline | |
LITELLM_UI_PASSWORD | litellm | ||
LITELLM_UI_USERNAME | litellm | ||
LOCAL_LLM_TOKEN | litellm-config.yml | litellm, vllm, vllm-bge-m3, vllm-bge-reranker | |
LOG_LEVEL | LogSettings.LEVEL | api, bot, dagster-daemon, dagster-webserver, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api, traefik | Logging-Level |
MAINTENANCE_DISABLED | backup-code | ||
MEM0_EMBEDDING_MODEL_NAME | Mem0Settings.EMBEDDING_MODEL_NAME | api, bot, llm_wrapping_agent, rag_agent, shared_rag_pipeline | Name des zu verwendenden Embedding-Modells |
MEM0_LLM_NAME | Mem0Settings.LLM_NAME | api, bot, llm_wrapping_agent, rag_agent, shared_rag_pipeline | Name des zu verwendenden LLM |
MEM0_RERANKING_MODEL_NAME | Mem0Settings.RERANKING_MODEL_NAME | api, bot, llm_wrapping_agent, rag_agent, shared_rag_pipeline | Name des zu verwendenden Reranking-Modells |
MILVUS_DIMENSION | MilvusSettings.DIMENSION | api, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Dimension des Embedding-Vektors |
MILVUS_ROOT_PASSWORD | MilvusSettings.ROOT_PASSWORD | api, attu, backup-code, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, milvus-standalone, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, shared_rag_pipeline | Root-Passwort für die Milvus-Authentifizierung. Falls nicht gesetzt, wird keine Authentifizierung verwendet. Der Benutzername ist immer 'root'. |
MINERU_API_MAX_CONCURRENT_REQUESTS | mineru-api | ||
MINERU_API_TIMEOUT | MineruSettings.API_TIMEOUT | api, default_rag_pipeline, shared_rag_pipeline | Timeout für MinerU API-Aufrufe in Sekunden |
MINERU_FORMULA_ENABLE | MineruSettings.FORMULA_ENABLE | api, default_rag_pipeline, shared_rag_pipeline | Formel-/Gleichungs-Parsing aktivieren |
MINERU_TABLE_ENABLE | MineruSettings.TABLE_ENABLE | api, default_rag_pipeline, shared_rag_pipeline | Tabellenerkennung und -Parsing aktivieren |
MINERU_VLM_NAME | MineruSettings.VLM_NAME | api, default_rag_pipeline, mineru-api, shared_rag_pipeline | LiteLLM Modell-Alias für MinerU VLM |
MONGO_PASSWORD | api, backup-code, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, ferretdb, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, postgres-ferretdb, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | ||
MONGO_USERNAME | api, backup-code, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, ferretdb, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, postgres-ferretdb, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | ||
NATS_TOKEN | NatsSettings.TOKEN | api, backup-code, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, nats, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | Authentifizierungs-Token für den NATS-Server. Falls nicht gesetzt, wird keine Authentifizierung verwendet. |
NEO4J_PASSWORD | Neo4jSettings.PASSWORD | api, bot, llm_wrapping_agent, neo4j, rag_agent, shared_rag_pipeline | Passwort für den Neo4j DB Server |
NEO4J_USERNAME | Neo4jSettings.USERNAME | api, bot, llm_wrapping_agent, neo4j, rag_agent, shared_rag_pipeline | Benutzername für den Neo4j DB Server |
NOTIFICATION_URLS | NotificationSettings.URLS | default_rag_pipeline, shared_rag_pipeline | Apprise-Benachrichtigungs-URIs (komma-getrennt). Beispiele: 'slack://TokenA/TokenB/TokenC/#alerts', 'mailto://user:pw@smtp.example.com', 'discord://webhook_id/webhook_token'. Eine vollständige Liste finden Sie unter https://github.com/caronc/apprise. |
OAUTH_ADMIN_ROLES_OPENWEBUI | open-webui | ||
OAUTH_ALLOWED_GROUPS_ATTU | oauth2proxy-attu | ||
OAUTH_ALLOWED_GROUPS_BACKUP | oauth2proxy-backup | ||
OAUTH_ALLOWED_GROUPS_DAGSTER | oauth2proxy-dagster | ||
OAUTH_ALLOWED_GROUPS_SEAWEEDFS | oauth2proxy-seaweed | ||
OAUTH_CLIENT_ID | api, bot, open-webui, sysadmin-api, sysadmin-web, web | ||
OAUTH_CLIENT_SECRET | api, bot, open-webui, sysadmin-api | ||
OAUTH_COOKIE_SECRET_ATTU | oauth2proxy-attu | ||
OAUTH_COOKIE_SECRET_BACKUP | oauth2proxy-backup | ||
OAUTH_COOKIE_SECRET_DAGSTER | oauth2proxy-dagster | ||
OAUTH_COOKIE_SECRET_SEAWEEDFS | oauth2proxy-seaweed | ||
OAUTH_CUSTOM_SIGN_IN_LOGO | oauth2proxy-attu, oauth2proxy-backup, oauth2proxy-dagster, oauth2proxy-seaweed | ||
OAUTH_TENANT_ID | api, sysadmin-api | ||
OPENWEBUI_SCIM_TOKEN | OpenWebuiSettings.SCIM_TOKEN | api, open-webui, sysadmin-api | SCIM 2.0 Bearer-Token für die Gruppen- und Benutzerbereitstellung |
OPENWEBUI_SECRET_KEY | OpenWebuiSettings.SECRET_KEY | api, open-webui, sysadmin-api | OpenWebUI WEBUI_SECRET_KEY für die JWT-Signatur |
OPENWEBUI_SERVICE_ACCOUNT_ID | OpenWebuiSettings.SERVICE_ACCOUNT_ID | api, openwebui-init, sysadmin-api | UUID des AI-Hub Service-Kontos in der OpenWebUI-Datenbank |
OPENWEBUI_WEBHOOK_SECRET | OpenWebuiSettings.WEBHOOK_SECRET | api, open-webui, sysadmin-api | Geteiltes Secret zur Authentifizierung von OpenWebUI Webhook-Aufrufen |
OTEL_CLOUD_ENDPOINT | otel-config.yml | otel-collector | |
OTEL_CLOUD_HEADERS | otel-config.yml | otel-collector | |
OTEL_ENABLED | OpenTelemetrySettings.ENABLED | api, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, sysadmin-api | OpenTelemetry-Tracing vollständig aktivieren/deaktivieren |
POSTGRES_PASSWORD | openwebui-init-openwebui.sh | backup-code, dagster-daemon, dagster-webserver, default_rag_pipeline, keycloak, langfuse-web, langfuse-worker, litellm, open-webui, openwebui-init, pgbouncer, postgres, postgres-ferretdb, shared_rag_pipeline | |
POSTGRES_PORT | openwebui-init-openwebui.sh | backup-code, openwebui-init | |
POSTGRES_USER | openwebui-init-openwebui.sh | backup-code, dagster-daemon, dagster-webserver, default_rag_pipeline, keycloak, langfuse-web, langfuse-worker, litellm, open-webui, openwebui-init, pgbouncer, postgres, postgres-ferretdb, shared_rag_pipeline | |
RCLONE_RC_PASS | RcloneSettings.RC_PASS | rclone | RC API-Passwort für die Authentifizierung. |
RCLONE_RC_USER | RcloneSettings.RC_USER | rclone | RC API-Benutzername für die Authentifizierung. |
REDIS_TOKEN | RedisSettings.TOKEN | api, backup-code, expert_asking_agent, expert_rag_agent, few_shot_agent, langfuse-web, langfuse-worker, litellm, llm_wrapping_agent, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, sysadmin-api, valkey | Authentifizierungs-Token für den Redis-Server. Falls nicht gesetzt, wird keine Authentifizierung verwendet. |
S3_STORAGE_ACCESS_KEY | S3StorageSettings.ACCESS_KEY | api, backup-code, clickhouse, default_rag_pipeline, expert_rag_agent, langfuse-web, langfuse-worker, milvus-standalone, open-webui, rag_agent, retrieval_agent, seaweedfs-init, seaweedfs-s3, shared_rag_pipeline | Der Access Key für den S3-Endpoint. |
S3_STORAGE_SECRET_KEY | S3StorageSettings.SECRET_KEY | api, backup-code, clickhouse, default_rag_pipeline, expert_rag_agent, langfuse-web, langfuse-worker, milvus-standalone, open-webui, rag_agent, retrieval_agent, seaweedfs-init, seaweedfs-s3, shared_rag_pipeline | Der Secret Key für den S3-Endpoint. |
SEARXNG_SECRET_KEY | searxng | ||
SEAWEEDFS_TOKEN | seaweedfs-filer, seaweedfs-master, seaweedfs-s3, seaweedfs-volume | ||
SLACK_CHANNEL_ID | expert_asking_agent | ||
SLACK_SERVICE_URL | expert_asking_agent | ||
SUPERUSER_EMAIL | SuperuserSettings.EMAIL | api, keycloak, sysadmin-api | Keycloak-E-Mail, die zur Suche des Superusers verwendet wird. |
SUPERUSER_FIRSTNAME | users-superuser.json | keycloak | |
SUPERUSER_LASTNAME | users-superuser.json | keycloak | |
SUPERUSER_PASSWORD | users-superuser.json | keycloak | |
SUPERUSER_ROLES_JSON | SuperuserSettings.ROLES_JSON | api, keycloak, sysadmin-api | JSON-Array von Realm-Rollen, die dem Superuser zugewiesen sind und unverändert über dieselbe Umgebungsvariable mit dem Keycloak-Realm-Import geteilt werden. Muss AIHubSysAdmin enthalten. |
SUPERUSER_TOKEN | SuperuserSettings.TOKEN | api, open-webui, sysadmin-api | Statisches Bearer-Token für Maschine-zu-Maschine-API-Aufrufe. Muss mit 'sk-' beginnen. |
SUPERUSER_USERNAME | SuperuserSettings.USERNAME | api, keycloak, sysadmin-api | Keycloak-Benutzername des initialisierten Superusers. |
SWISS_LLM_CLOUD_API_BASE_URL | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_API_KEY | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_EMBEDDING_API_BASE_URL | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_EMBEDDING_API_KEY | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_OCR_API_BASE_URL | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_OCR_API_KEY | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_RERANKING_API_BASE_URL | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_RERANKING_API_KEY | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_WHISPER_API_BASE_URL | litellm-config.yml | litellm | |
SWISS_LLM_CLOUD_WHISPER_API_KEY | litellm-config.yml | litellm | |
TEAMS_BOT_ID | expert_asking_agent | ||
TEAMS_CHANNEL_ID | expert_asking_agent | ||
TEAMS_TENANT_ID | expert_asking_agent |
Erforderlich durch SDK-Settings-Klassen (nicht vom Standard-Deployment verwendet)
Diese Variablen sind als Pflichtfelder in einer Pydantic BaseSettings-Klasse deklariert und werden nicht von einem Service im Standard-Docker-Compose-Stack konsumiert. Die leere Spalte "Service(s)" spiegelt dies wider: Kein Container im Standard-Deployment lädt die Settings-Klasse. Sie werden erst dann operativ erforderlich, wenn ein benutzerdefinierter Agent, eine Pipeline oder eine andere Erweiterung zu Docker-Compose hinzugefügt wird, die die entsprechende SDK-Funktionalität aktiviert (z.B. der SharePoint-Konnektor oder der Azure Document Intelligence Loader). Bis dahin ist es in Ordnung, die Platzhalter unverändert zu lassen – Pydantic validiert die Klasse nur, wenn sie instanziiert wird.
| Variable | Consumer | Service(s) | Description |
|---|---|---|---|
AZURE_DATA_LAKE_CONNECTION_STRING | AzureDataLakeSettings.CONNECTION_STRING | Azure Data Lake Connection String für explizite Authentifizierung. Empfohlen gegenüber impliziter Authentifizierung. | |
AZURE_DOCUMENT_INTELLIGENCE_API_KEY | AzureDocumentIntelligenceSettings.API_KEY | API-Schlüssel für Document Intelligence | |
AZURE_DOCUMENT_INTELLIGENCE_ENDPOINT | AzureDocumentIntelligenceSettings.ENDPOINT | ||
SHAREPOINT_CLIENT_ID | SharePointSettings.CLIENT_ID | Die Anwendungs- (Client-) ID. | |
SHAREPOINT_CLIENT_SECRET | SharePointSettings.CLIENT_SECRET | Das Client Secret für die Authentifizierung. | |
SHAREPOINT_SITE_URL | SharePointSettings.SITE_URL | Die SharePoint-Site-URL. | |
SHAREPOINT_TENANT_ID | SharePointSettings.TENANT_ID | Die Azure AD Tenant ID. |
Optional: Plattform-Standardwerte überschreiben
Diese Variablen haben sinnvolle Standardwerte (oder werden Containern über Docker-Compose bereitgestellt) und müssen nicht in .env gesetzt werden. Fügen Sie sie nur hinzu, um den Standardwert zu überschreiben. Variablen, die mit (supplied by compose) gekennzeichnet sind, werden von der Anwendung benötigt, erhalten ihren Wert jedoch über docker-compose.yml injiziert, sodass das Setzen in .env keine Auswirkung hat.
| Variable | Consumer | Default | Service(s) | Description |
|---|---|---|---|---|
AIHUB_API_DEBUG_MODE | AIHubSettings.API_DEBUG_MODE | False | Debug-Modus für die Entwicklung | |
AIHUB_CREATE_DEFAULT_ROLES | AIHubSettings.CREATE_DEFAULT_ROLES | True | api, sysadmin-api | Erstellt Standard-Rollen wie AI-Hub Admin und AI-Hub User |
AIHUB_FRONTEND_ORIGIN | AIHubSettings.FRONTEND_ORIGIN | (supplied by compose) | api, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | Komma-getrennte Liste von Ursprüngen, für die CORS erlaubt ist |
AIHUB_MONGO_MAIN_DB_NAME | AIHubSettings.MONGO_MAIN_DB_NAME | 'aihub' | Name der MongoDB-Datenbank, die zum Speichern von Daten verwendet wird | |
AIHUB_OPENAI_API_BASE_URL | AIHubSettings.OPENAI_API_BASE_URL | 'http://api:8000/api/v1/active/openai' | api | Basis-URL des OpenAI-kompatiblen Endpunkts von AI-Hub, verwendet für die Langfuse LLM-Verbindung |
AUTH_ENABLE_API_ACCESS | AuthSettings.ENABLE_API_ACCESS | True | api, sysadmin-api | API-Zugriff aktivieren |
AZURE_DOCUMENT_INTELLIGENCE_API_VERSION | AzureDocumentIntelligenceSettings.API_VERSION | '2024-11-30' | ||
AZURE_DOCUMENT_INTELLIGENCE_EXTENSIONS | AzureDocumentIntelligenceSettings.EXTENSIONS | ['pdf', 'docx', 'xlsx', 'pptx', 'html'] | Unterstützte Dateierweiterungen für die Dokumentenverarbeitung | |
BACKUP_AWS_ENDPOINT_URL | BackupSettings.AWS_ENDPOINT_URL | 'http://seaweedfs-s3:9000' | backup-code | |
BACKUP_CLICKHOUSE_HOST | BackupSettings.CLICKHOUSE_HOST | 'clickhouse' | backup-code | |
BACKUP_CLICKHOUSE_PORT | BackupSettings.CLICKHOUSE_PORT | 8123 | ||
BACKUP_CLICKHOUSE_USER | BackupSettings.CLICKHOUSE_USER | 'clickhouse' | backup-code | |
BACKUP_DAGSTER_CLEANUP_BATCH_LIMIT | BackupSettings.DAGSTER_CLEANUP_BATCH_LIMIT | 1000000 | backup-code | |
BACKUP_DAGSTER_DB | BackupSettings.DAGSTER_DB | 'dagster' | backup-code | |
BACKUP_DAGSTER_DEBUG_LOG_RETENTION_DAYS | BackupSettings.DAGSTER_DEBUG_LOG_RETENTION_DAYS | 7 | backup-code | |
BACKUP_DAGSTER_INFO_LOG_RETENTION_DAYS | BackupSettings.DAGSTER_INFO_LOG_RETENTION_DAYS | 60 | backup-code | |
BACKUP_DAGSTER_UNIMPORTANT_EVENT_RETENTION_DAYS | BackupSettings.DAGSTER_UNIMPORTANT_EVENT_RETENTION_DAYS | 30 | backup-code | |
BACKUP_DAGSTER_WARNING_LOG_RETENTION_DAYS | BackupSettings.DAGSTER_WARNING_LOG_RETENTION_DAYS | 60 | backup-code | |
BACKUP_LANGFUSE_CLICKHOUSE_PASSWORD | BackupSettings.LANGFUSE_CLICKHOUSE_PASSWORD | (supplied by compose) | backup-code | |
BACKUP_MAINTENANCE_DISABLED | BackupSettings.MAINTENANCE_DISABLED | False | backup-code | |
BACKUP_MILVUS_HOST | BackupSettings.MILVUS_HOST | 'milvus-standalone' | backup-code | |
BACKUP_MILVUS_PORT | BackupSettings.MILVUS_PORT | 19530 | backup-code | |
BACKUP_MILVUS_ROOT_PASSWORD | BackupSettings.MILVUS_ROOT_PASSWORD | (supplied by compose) | backup-code | |
BACKUP_MONGO_PASSWORD | BackupSettings.MONGO_PASSWORD | (supplied by compose) | backup-code | |
BACKUP_MONGO_USERNAME | BackupSettings.MONGO_USERNAME | 'admin' | backup-code | |
BACKUP_NATS_TOKEN | BackupSettings.NATS_TOKEN | (supplied by compose) | backup-code | |
BACKUP_NATS_URL | BackupSettings.NATS_URL | 'nats://nats:4222' | backup-code | |
BACKUP_NEO4J_CONTAINER | BackupSettings.NEO4J_CONTAINER | 'neo4j' | backup-code | |
BACKUP_POSTGRES_FERRETDB_HOST | BackupSettings.POSTGRES_FERRETDB_HOST | 'postgres-ferretdb' | backup-code | |
BACKUP_POSTGRES_HOST | BackupSettings.POSTGRES_HOST | 'postgres' | backup-code | |
BACKUP_POSTGRES_PASSWORD | BackupSettings.POSTGRES_PASSWORD | (supplied by compose) | backup-code | |
BACKUP_POSTGRES_PORT | BackupSettings.POSTGRES_PORT | 5432 | backup-code | |
BACKUP_POSTGRES_USER | BackupSettings.POSTGRES_USER | 'admin' | backup-code | |
BACKUP_REDIS_TOKEN | BackupSettings.REDIS_TOKEN | (supplied by compose) | backup-code | |
BACKUP_S3_STORAGE_ACCESS_KEY | BackupSettings.S3_STORAGE_ACCESS_KEY | 'admin' | backup-code | |
BACKUP_S3_STORAGE_SECRET_KEY | BackupSettings.S3_STORAGE_SECRET_KEY | (supplied by compose) | backup-code | |
BACKUP_VALKEY_CONTAINER | BackupSettings.VALKEY_CONTAINER | 'valkey' | backup-code | |
BACKUP_VALKEY_HOST | BackupSettings.VALKEY_HOST | 'valkey' | ||
BACKUP_VALKEY_PORT | BackupSettings.VALKEY_PORT | 6379 | ||
KEYCLOAK_API_SERVICE_CLIENT_ID | KeycloakSettings.API_SERVICE_CLIENT_ID | 'aihub-api-service' | Client-ID für das API-Service-Konto | |
KEYCLOAK_EXTERNAL_URL | KeycloakSettings.EXTERNAL_URL | None | api, bot, sysadmin-api | Externe Keycloak-URL, wie sie von Browsern gesehen wird, verwendet für die Issuer-Validierung |
KEYCLOAK_REALM | KeycloakSettings.REALM | 'aihub' | api, bot, sysadmin-api | Keycloak Realm-Name |
KEYCLOAK_URL | KeycloakSettings.URL | (supplied by compose) | api, bot, keycloak-config, sysadmin-api | Interne Keycloak-URL für direkten Zugriff (z.B. http://keycloak:8080) |
LANGFUSE_BASE_URL | LangfuseSettings.BASE_URL | (supplied by compose) | api | Langfuse Server-Basis-URL |
LANGFUSE_PROJECT_ID | LangfuseSettings.PROJECT_ID | None | api | Langfuse Projekt-ID zum Erstellen von Dataset-URLs |
LANGFUSE_PUBLIC_URL | LangfuseSettings.PUBLIC_URL | None | api | Öffentlich zugängliche Langfuse-URL für Browser-Links (z.B. https://langfuse.example.com) |
LANGFUSE_TIMEOUT | LangfuseSettings.TIMEOUT | 60 | Timeout in Sekunden für Langfuse API-Anfragen | |
LITE_LLM_PROXY_API_KEY | LiteLLMProxySettings.API_KEY | None | api, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline | API-Schlüssel für die Authentifizierung. Falls nicht angegeben, werden andere Authentifizierungsmethoden verwendet. |
LITE_LLM_PROXY_BASE_URL | LiteLLMProxySettings.BASE_URL | (supplied by compose) | api, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Die Basis-URL des Modells. |
LITE_LLM_PROXY_USER_BUDGET_DURATION | LiteLLMProxySettings.USER_BUDGET_DURATION | None | Das Budget wird am Ende der angegebenen Dauer zurückgesetzt. Falls nicht gesetzt, wird das Budget niemals zurückgesetzt. Sie können die Dauer in Sekunden ("30s"), Minuten ("30m"), Stunden ("30h"), Tagen ("30d"), Monaten ("1mo") festlegen. | |
LITE_LLM_PROXY_USER_MAX_BUDGET | LiteLLMProxySettings.USER_MAX_BUDGET | None | Budget, das einem Benutzer in einem Zeitraum zur Verfügung steht | |
LITE_LLM_PROXY_USER_MAX_PARALLEL_REQUESTS | LiteLLMProxySettings.USER_MAX_PARALLEL_REQUESTS | None | Begrenzt die Anzahl der parallelen Anfragen eines Benutzers. Löst einen 429-Fehler aus, wenn die parallelen Anfragen des Benutzers > x sind. | |
LITE_LLM_PROXY_USER_RPM_LIMIT | LiteLLMProxySettings.USER_RPM_LIMIT | None | Legt das RPM-Limit für einen bestimmten Benutzer fest (Anfragen pro Minute) | |
LITE_LLM_PROXY_USER_SOFT_BUDGET | LiteLLMProxySettings.USER_SOFT_BUDGET | None | Erhält Warnungen, wenn der Benutzer das angegebene Budget überschreitet; blockiert jedoch keine Anfragen. | |
LITE_LLM_PROXY_USER_TPM_LIMIT | LiteLLMProxySettings.USER_TPM_LIMIT | None | Legt das TPM-Limit für einen bestimmten Benutzer fest (Tokens pro Minute) | |
MEM0_SUPPORT_VISION | Mem0Settings.SUPPORT_VISION | True | Ob Vision unterstützt werden soll | |
MEM0_VISION_DETAIL | Mem0Settings.VISION_DETAIL | 'auto' | Vision-Details | |
MEMORY_DEFAULT_TENANT_ID | MemorySettings.DEFAULT_TENANT_ID | 'AIHub' | Standard-Mandanten-ID für den Speicher-Scope | |
MEMORY_DEFAULT_TENANT_NAMESPACE | MemorySettings.DEFAULT_TENANT_NAMESPACE | None | Standard-Mandanten-Namespace für den Bereich auf Abteilungsebene | |
MILVUS_URL | MilvusSettings.URL | (supplied by compose) | api, attu, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Verbindungs-URL für den Milvus DB Server |
MINERU_API_BASE_URL | MineruSettings.API_BASE_URL | 'http://mineru-api:8000' | api, default_rag_pipeline, shared_rag_pipeline | MinerU API Endpunkt-URL |
MINERU_EXTENSIONS | MineruSettings.EXTENSIONS | ['pdf', 'png', 'jpeg', 'jp2', 'webp', 'gif', 'bmp', 'jpg', 'tiff'] | Von MinerU unterstützte Dateierweiterungen | |
MINERU_VLM_SERVER_API_KEY | MineruSettings.VLM_SERVER_API_KEY | SecretStr('') | api, default_rag_pipeline, shared_rag_pipeline | LiteLLM API-Schlüssel für VLM-Anfragen |
MINERU_VLM_SERVER_URL | MineruSettings.VLM_SERVER_URL | 'http://litellm:4000' | api, default_rag_pipeline, shared_rag_pipeline | LiteLLM Proxy-URL für VLM-Routing |
MONGO_CONNECTION_STRING | MongoSettings.CONNECTION_STRING | (supplied by compose) | api, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | Überschreibt den MongoDB Connection String |
NATS_ENDPOINT | NatsSettings.ENDPOINT | (supplied by compose) | api, bot, default_rag_pipeline, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, shared_rag_pipeline, sysadmin-api | Verbindungs-Endpunkt für das NATS Messaging-System |
NEO4J_URL | Neo4jSettings.URL | (supplied by compose) | api, bot, llm_wrapping_agent, rag_agent, shared_rag_pipeline | Verbindungs-URL für den Neo4j DB Server |
NOTIFICATION_DAGSTER_UI_BASE_URL | NotificationSettings.DAGSTER_UI_BASE_URL | None | default_rag_pipeline, shared_rag_pipeline | Basis-URL der Dagster-UI, die zum Erstellen von Deep Links in Benachrichtigungstexten verwendet wird (z.B. 'https://dagster.example.com'). |
NOTIFICATION_MIN_INTERVAL_SECONDS | NotificationSettings.MIN_INTERVAL_SECONDS | 30 | default_rag_pipeline, shared_rag_pipeline | Minimales Intervall zwischen Sensor-Ticks in Sekunden. |
NOTIFICATION_TITLE_PREFIX | NotificationSettings.TITLE_PREFIX | 'Swiss AI Hub Pipeline' | default_rag_pipeline, shared_rag_pipeline | Präfix, das dem Benachrichtigungstitel vorangestellt wird. |
OPENWEBUI_BASE_URL | OpenWebuiSettings.BASE_URL | (supplied by compose) | api, sysadmin-api | OpenWebUI Server-Basis-URL |
OTEL_EXPORTER_OTLP_ENDPOINT | OpenTelemetrySettings.EXPORTER_OTLP_ENDPOINT | None | api, expert_asking_agent, expert_rag_agent, few_shot_agent, litellm, llm_wrapping_agent, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, sysadmin-api | OTLP Exporter Endpunkt-URL |
OTEL_EXPORTER_OTLP_INSECURE | OpenTelemetrySettings.EXPORTER_OTLP_INSECURE | True | open-webui | Unsichere Verbindung (kein TLS) für gRPC verwenden |
OTEL_EXPORTER_OTLP_PROTOCOL | OpenTelemetrySettings.EXPORTER_OTLP_PROTOCOL | 'grpc' | api, expert_asking_agent, expert_rag_agent, few_shot_agent, litellm, llm_wrapping_agent, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, sysadmin-api | OTLP-Protokoll |
OTEL_RESOURCE_SERVICE_NAME | OpenTelemetrySettings.RESOURCE_SERVICE_NAME | None | api, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, sysadmin-api | Ressource Service-Name |
OTEL_RESOURCE_SERVICE_NAMESPACE | OpenTelemetrySettings.RESOURCE_SERVICE_NAMESPACE | None | api, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, sysadmin-api | Ressource Service-Namespace |
OTEL_RESOURCE_SERVICE_VERSION | OpenTelemetrySettings.RESOURCE_SERVICE_VERSION | None | api, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, rag_agent, retrieval_agent, sysadmin-api | Ressource Service-Version |
PARSING_PASSTHROUGH_EXTENSIONS | ParsingSettings.PASSTHROUGH_EXTENSIONS | [] | Dateierweiterungen, die leeren Inhalt anstelle von 400 zurückgeben (z.B. für die agentenbasierte Verarbeitung). Über die Umgebungsvariable als JSON-Array festlegen: PARSING_PASSTHROUGH_EXTENSIONS='["zip","wav"]' | |
RCLONE_URL | RcloneSettings.URL | 'http://rclone:5572' | Rclone RC API URL (z.B. http://rclone:5572). | |
REDIS_URL | RedisSettings.URL | (supplied by compose) | api, expert_asking_agent, expert_rag_agent, few_shot_agent, llm_wrapping_agent, namespace_selection_agent, open-webui, rag_agent, retrieval_agent, sysadmin-api | Verbindungs-URL für den Redis-Server (ohne Token) |
S3_STORAGE_ENDPOINT | S3StorageSettings.ENDPOINT | (supplied by compose) | api, default_rag_pipeline, expert_rag_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Der S3-Endpunkt von AWS oder Minio. |
S3_STORAGE_PUBLIC_ENDPOINT | S3StorageSettings.PUBLIC_ENDPOINT | None | api, default_rag_pipeline, expert_rag_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Der öffentlich zugängliche S3-Endpunkt für vorab signierte URLs. Falls nicht gesetzt, wird auf ENDPOINT zurückgegriffen. Verwenden Sie dies, wenn interne und externe Endpunkte sich unterscheiden (z.B. Docker intern vs. Traefik-geroutet extern). |
S3_STORAGE_REGION | S3StorageSettings.REGION | 'us-east-1' | Die Region für den S3-Endpunkt. Für Minio ist der Wert irrelevant. | |
S3_STORAGE_URL_SIGNING_SECRET | S3StorageSettings.URL_SIGNING_SECRET | (supplied by compose) | api, default_rag_pipeline, expert_rag_agent, rag_agent, retrieval_agent, shared_rag_pipeline | Ein geheimer Schlüssel, der zum Signieren und Verifizieren temporärer anonymer Zugriffs-URLs verwendet wird. |
USAGE_LIMIT_WARNING_THRESHOLD_PERCENT | UsageLimitSettings.WARNING_THRESHOLD_PERCENT | 80 | Nutzungs-Prozentsatz, bei dem Warn-Header ausgegeben werden |
Zusätzliche Variablen für GPU-Deployments
Die GPU-Variante führt derzeit keine zusätzlichen, vom Operator gesteuerten Variablen über den oben genannten Basissatz hinaus ein.
