LoreKeeper
Technische Architektur

Deployment & Containerisierung

Docker, Multi-Stage Build, Docker Compose und Umgebungskonfiguration

Deployment & Containerisierung

Der Dienst ist für den cloud-nativen und containerisierten Betrieb optimiert.


Multi-Stage Dockerfile

Das Dockerfile nutzt 4 Stufen auf Basis von node:20-alpine:

  1. base: Minimales Alpine-Image mit Node.js 20.
  2. dependencies: Installiert Produktions- und Entwicklungsabhängigkeiten.
  3. builder: Kompiliert TypeScript in striktes ESM (tsc).
  4. runner: Minimaler Production-Container mit unprivilegiertem Benutzer node.

Docker Compose Setup

Die docker-compose.yml orchestriert Fastify und den LiteLLM Proxy in einem gemeinsamen Bridge-Netzwerk:

services:
  lorekeeper-api:
    build: .
    container_name: lorekeeper-api
    ports:
      - "3005:3000"
    environment:
      - DIRECTUS_URL=${DIRECTUS_URL}
      - DIRECTUS_TOKEN=${DIRECTUS_TOKEN}
      - GEMINI_API_KEY=${GEMINI_API_KEY}

Fail-Fast Initialisierung

Beim Booten des Fastify-Servers wird ein zwingender Directus-Ping (/server/ping) ausgeführt. Antwortet Directus nicht innerhalb des Timeouts oder sind Zugangsdaten ungültig, bricht der Startprozess mit Exit-Code 1 ab. Dies verhindert unbemerktes Laufen von Diensten im Halbleiterzustand.

On this page