Docker-Image, Compose-Demo mit ./data-Mount
Alle Laufzeitdateien (config, ACLs, keys, state, aa-cache, log) gehen über den Mount ./data:/data, weil logDir und ACLs relativ zum CONFIG_PATH aufgelöst werden. Ohne Keys startet der Router trotzdem, /health bleibt bedienbar.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
services:
|
||||
llmrouter:
|
||||
image: git.42i.org/spine/llmrouter:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile
|
||||
ports:
|
||||
- "4010:4010"
|
||||
volumes:
|
||||
# Caches und Einstellungen liegen alle unter ./data — siehe data/README.md
|
||||
- ./data:/data
|
||||
environment:
|
||||
# Konfiguration, ACLs, Keys und Logs wandern komplett nach /data,
|
||||
# weil logDir und ACLs relativ zum CONFIG_PATH aufgelöst werden.
|
||||
LLMROUTER_CONFIG: /data/config.json
|
||||
LLMROUTER_ACLS: /data/key-acls.json
|
||||
KEYS_FILE: /data/keys.json
|
||||
# Upstream-Keys kommen aus .env (Vorlage: .env.example). Leere Werte
|
||||
# sind okay: der Router startet trotzdem, Auffrischen scheitert dann
|
||||
# graceful und /health bleibt bedienbar.
|
||||
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
|
||||
MISTRAL_API_KEY: ${MISTRAL_API_KEY:-}
|
||||
KIRA_REASONING_KEY: ${KIRA_REASONING_KEY:-}
|
||||
KIRA_STT_KEY: ${KIRA_STT_KEY:-}
|
||||
KIRA_TTS_KEY: ${KIRA_TTS_KEY:-}
|
||||
ARTIFICIALANALYSIS_API_KEY: ${ARTIFICIALANALYSIS_API_KEY:-}
|
||||
ADMIN_KEY: ${ADMIN_KEY:-}
|
||||
# Optional: eigene Sperrliste statt der Default unter $HOME
|
||||
# MODEL_BLOCKLIST: /data/model-blocklist.json
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user