# llmrouter — ein Image, keine Abhängigkeiten (package.json hat keine deps). # oven/bun:1 ist Debian-basiert und bringt bun mit; der Router läuft darin # direkt aus den Quellen (kein Build-Schritt nötig). FROM oven/bun:1 WORKDIR /app # Mitgelieferte Demo-Konfiguration: greift nur, wenn LLMROUTER_CONFIG nicht # gesetzt ist (Compose überschreibt sie mit /data/config.json). COPY package.json ./ COPY src ./src COPY config.json key-acls.json ./ EXPOSE 4010 # /health braucht keine Keys; der Router lauscht auch ohne Secret-Umfeld. HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD bun -e 'const p = Number(process.env.PORT ?? 4010); const r = await fetch("http://127.0.0.1:" + p + "/health"); process.exit(r.ok ? 0 : 1)' CMD ["bun", "src/server.ts"]