Umgebungsvariablen
Selu wird über Umgebungsvariablen konfiguriert, die in deiner .env-Datei oder in deiner Docker-Compose-Konfiguration gesetzt werden.
Orchestrator
Abschnitt betitelt „Orchestrator“Zentrale Server-Konfiguration. Diese verwenden das Präfix SELU__ mit doppeltem Unterstrich als Trennzeichen (geparst durch die Konfigurationsbibliothek mit Präfix SELU und Separator __).
| Variable | Standard | Beschreibung |
|---|---|---|
SELU__ENCRYPTION_KEY | — | Erforderlich. Verschlüsselungsschlüssel für gespeicherte Zugangsdaten (API-Schlüssel, Token). Mindestens 32 zufällige Zeichen verwenden. |
SELU__SERVER__PORT | 3000 | Port, auf dem Dashboard und API hören. |
SELU__SERVER__HOST | 0.0.0.0 | IP-Adresse zum Binden. |
SELU__DATABASE__URL | sqlite:///app/data/selu.db?mode=rwc | SQLite-Verbindungszeichenkette. |
SELU__EXTERNAL_URL | — | Öffentliche URL deiner Instanz. Setze dies hinter einem Reverse Proxy für korrekte Webhook-Callback-URLs. |
SELU__BASE_PATH | — | URL-Pfad-Präfix für Reverse-Proxy-Sub-Pfad-Deployments (z.B. /selu). |
SELU__MARKETPLACE_URL | https://selu.bot/api/marketplace/agents | Agent-Marketplace-API-Endpunkt. |
SELU__INSTALLED_AGENTS_DIR | /app/installed_agents | Verzeichnis, in dem Marketplace-Agenten installiert werden. |
SELU__AGENTS_DIR | /app/agents | Verzeichnis für mitgelieferte Standard-Agent-Definitionen. |
SELU__RELEASE_METADATA_URL | https://selu.bot/api/releases/selu | Release-Metadaten-Endpunkt für das Update-System. |
SELU__EGRESS_PROXY_ADDR | 0.0.0.0:8888 | Egress-Proxy-Adresse für Capability-Container. |
SELU__MAX_CHAIN_DEPTH | 3 | Maximale Ereigniskettentiefe zur Vermeidung endloser Schleifen. |
System-Updates
Abschnitt betitelt „System-Updates“Variablen des eingebauten Update-Systems. SELU_RELEASE_CHANNEL und die SELU_IMAGE_*-Variablen verwenden einfache Unterstriche, da sie direkt über std::env::var gelesen werden, nicht über die Konfigurationsbibliothek.
| Variable | Standard | Beschreibung |
|---|---|---|
SELU_RELEASE_CHANNEL | stable | Release-Kanal: stable, dev oder nightly. |
SELU_IMAGE_TAG | — | Aktueller Docker-Image-Tag. Automatisch vom Update-System verwaltet. |
SELU_IMAGE_DIGEST | — | Aktueller Image-Digest zur Verifizierung. Automatisch verwaltet. |
SELU_IMAGE_VERSION | — | Aktuelle semantische Version (z.B. v1.5.0-dev). Automatisch verwaltet. |
SELU_IMAGE_BUILD | — | Aktuelle Build-Nummer. Automatisch verwaltet. |
Updater-Sidecar-Verbindung
Abschnitt betitelt „Updater-Sidecar-Verbindung“Diese Variablen konfigurieren, wie der Orchestrator mit dem Updater-Sidecar kommuniziert.
| Variable | Standard | Beschreibung |
|---|---|---|
SELU_UPDATER_URL | http://selu-updater:8090 | URL des Updater-Sidecar-Service. |
SELU_UPDATER_SHARED_SECRET | — | Geteiltes Geheimnis zur Authentifizierung mit dem Updater-Sidecar (gesendet als X-Selu-Updater-Secret-Header). |
SELU_UPDATER_REQUEST_TIMEOUT_SECS | 30 | Timeout für Anfragen an das Updater-Sidecar. |
Updater-Sidecar
Abschnitt betitelt „Updater-Sidecar“Der Updater-Sidecar ist ein separater Container, der Updates durchführt, während Selu neu startet. Er verwendet das Präfix UPDATER__ mit doppeltem Unterstrich als Trennzeichen.
| Variable | Standard | Beschreibung |
|---|---|---|
UPDATER__SERVER__HOST | 0.0.0.0 | Host, auf dem die Updater-API hört. |
UPDATER__SERVER__PORT | 8090 | Port, auf dem die Updater-API hört. |
UPDATER__SHARED_SECRET | — | Geteiltes Geheimnis zur Authentifizierung von Anfragen des Orchestrators. |
UPDATER__COMPOSE_FILE | ./docker-compose.yml | Pfad zur Docker-Compose-Datei. |
UPDATER__COMPOSE_PROJECT_DIR | — | Docker-Compose-Projektverzeichnis. |
UPDATER__COMPOSE_SERVICE | selu | Service-Name in der Compose-Datei zum Aktualisieren. |
UPDATER__UPDATER_SERVICE | — | Service-Name des Updaters selbst in der Compose-Datei. |
UPDATER__COMPOSE_ENV_FILE | ./.env | Pfad zur .env-Datei zum Persistieren von Update-Variablen. |
UPDATER__HEALTH_URL | http://127.0.0.1:3000/api/health | Health-Check-Endpunkt zur Verifizierung von Updates. |
UPDATER__HEALTH_TIMEOUT_SECS | 90 | Wartezeit für Health Checks nach einem Update. |
UPDATER__HEALTH_INTERVAL_SECS | 3 | Intervall zwischen Health-Check-Versuchen. |
UPDATER__DOCKER_BIN | — | Pfad zur Docker-Binary. |
UPDATER__IMAGE_REPO | ghcr.io/selu-bot/selu | Docker-Image-Repository für Selu. |
UPDATER__SELF_UPDATE_ON_APPLY | false | Ob sich der Sidecar während des gleichen Update-Laufs selbst aktualisiert. |
WhatsApp-Bridge-Sidecar
Abschnitt betitelt „WhatsApp-Bridge-Sidecar“Der Updater kann auch einen WhatsApp-Bridge-Container verwalten:
| Variable | Standard | Beschreibung |
|---|---|---|
UPDATER__WHATSAPP_BRIDGE_ENABLED | — | WhatsApp-Bridge-Sidecar-Verwaltung aktivieren. |
UPDATER__WHATSAPP_BRIDGE_IMAGE_REPO | — | Docker-Image für die WhatsApp-Bridge. |
UPDATER__WHATSAPP_BRIDGE_CONTAINER_NAME | — | Container-Name für die WhatsApp-Bridge. |
UPDATER__WHATSAPP_BRIDGE_DATA_VOLUME | — | Daten-Volume für die WhatsApp-Bridge. |
UPDATER__WHATSAPP_BRIDGE_NETWORK | — | Docker-Netzwerk für die WhatsApp-Bridge. |
UPDATER__WHATSAPP_BRIDGE_PORT | — | Port für die WhatsApp-Bridge. |
LLM-Anbieter
Abschnitt betitelt „LLM-Anbieter“LLM-Anbieter-Zugangsdaten werden nicht über Umgebungsvariablen konfiguriert. Sie werden verschlüsselt in der Datenbank gespeichert und über das Selu-Dashboard unter Einstellungen → Anbieter verwaltet.
Unterstützte Anbieter: Anthropic, OpenAI, AWS Bedrock und Pico (OpenAI-kompatibler lokaler AI-Server).
Kanal-Zugangsdaten (Telegram-Bot-Token, BlueBubbles/iMessage-Konfiguration) werden nicht über Umgebungsvariablen konfiguriert. Sie werden über das Dashboard unter Pipes verwaltet.
Release-Kanäle
Abschnitt betitelt „Release-Kanäle“| Kanal | Update-Frequenz | Beschreibung |
|---|---|---|
stable | Alle paar Wochen | Getestete Releases mit vollständigen Changelogs |
dev | Wöchentlich | Neuere Funktionen und Verbesserungen |
nightly | Täglich | Builds vom Main-Branch (können instabil sein) |
Setze deinen bevorzugten Kanal mit SELU_RELEASE_CHANNEL oder ändere ihn im System-Updates-Interface.