Files
diarization-ui/doc/deployment.md

2.2 KiB

Deployment

Voraussetzungen

  • Podman + podman-compose
  • Externes Podman-Netzwerk traefik (Traefik-Instanz läuft im selben Netzwerk)
  • Traefik konfiguriert für Entrypoint websecure (HTTPS)

Erstkonfiguration

cp .env.example .env   # Umgebungsvariablen anpassen

Build & Start

sudo podman compose up -d --build

Die App ist danach erreichbar unter:

  • https://voicelog.aquantico.lan (via Traefik)
  • http://127.0.0.1:8094 (direkt)

Neustart nach Code-Änderungen

sudo podman rm -f diarization-ui
sudo podman compose up -d --build

Image in Registry publizieren

podman build -t registry.aquantico.lan/claw/diarization-ui:latest .
podman push registry.aquantico.lan/claw/diarization-ui:latest

Datenpersistenz

Alle persistenten Daten liegen im Podman-Volume diarization-ui_diarization_ui_data, gemountet unter /data im Container:

/data/ui.db        — SQLite-Datenbank
/data/jobs/        — Temporäre Upload-Dateien (werden nach Verarbeitung gelöscht)

Achtung: Beim Neuerstellen des Containers kein podman volume rm ausführen — sonst gehen alle Daten verloren. Nur podman rm -f diarization-ui reicht.

Daten-Backup

sudo podman cp diarization-ui:/data/ui.db ./ui.db.backup

Volumes prüfen

sudo podman volume ls | grep diarization

Das korrekte Volume heißt diarization-ui_diarization_ui_data (nicht voicelog_diarization_ui_data, das ist ein veraltetes Volume aus einer früheren Benennung).

Logs

sudo podman logs -f diarization-ui

docker-compose.yml Struktur

services:
  diarization-ui:
    networks: [traefik]
    labels:
      - traefik.enable=true
      - traefik.http.routers.openwebui.rule=Host(`voicelog.aquantico.lan`)
      - traefik.http.routers.openwebui.entrypoints=websecure
      - traefik.http.routers.openwebui.tls=true
      - traefik.http.services.openwebui.loadbalancer.server.port=8094

networks:
  traefik:
    external: true

Lokale Entwicklung (ohne Docker/Podman)

pip install -r requirements.txt
API_BASE=http://... OLLAMA_BASE_URL=http://... DB_PATH=./ui.db \
  uvicorn app:app --host 0.0.0.0 --port 8094 --reload