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.
./data — Laufzeitverzeichnis des Containers
Hier liegen alle Dateien, die der Router schreibt oder nachladen soll; der
Compose-Dienst mountet dieses Verzeichnis nach /data. Beim ersten Start:
cp config.json key-acls.json data/
cp .env.example .env # dann Werte eintragen
docker compose up -d
| Datei | Zweck |
|---|---|
config.json |
Konfiguration (Aliasse, Rollen, Profile) — vom Repo übernehmen und anpassen; wird per LLMROUTER_CONFIG gelesen |
key-acls.json |
Rechte je Client-Name — per LLMROUTER_ACLS gelesen |
keys.json |
Client-Token → Name, 0600 empfohlen; pflegen mit KEYS_FILE=/data/keys.json bun run src/keys.ts add <name> |
model-blocklist.json |
optional, von Hand gepflegte Sperrliste (nur mit MODEL_BLOCKLIST=/data/model-blocklist.json aktiv) |
log/, state.json, aa-cache.json |
schreibt der Router selbst (Log, Zuordnungs-State, AA-Index-Cache) |
log/, state.json und aa-cache.json werden nicht versioniert — der
.gitignore lässt außer dieser README alles hier weg.