Wolf Beckmann 89affe41b0 feat(diarization-ui): live-poll job status on jobs page
Replace static server-rendered job cards with JS-driven polling of
/jobs/data every 3s (active jobs) or 10s (all idle). Cards are
re-rendered client-side, preserving checkbox selection. Polling
accelerates when queued/running jobs exist and resumes on tab focus.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:03:01 +01:00

diarization-ui

Eigenes UI-Projekt (separates Repo/Container) für:

  • Upload Audio
  • Aufruf von transcribe-diarize API
  • Speichern in SQLite
  • LLM-Auswertung via Ollama (Qwen)
  • Projekte/Prompts/Dokumente verwalten

Container Registry

Image ist veröffentlicht unter:

  • registry.aquantico.lan/claw/diarization-ui:latest

Hinweis: Registry-Zertifikat ist self-signed. Ggf. --tls-verify=false (Podman) oder insecure registry konfigurieren.


.env

API_BASE=http://gx10.aquantico.lan:8093
OLLAMA_BASE_URL=http://gx10.aquantico.lan:11434
OLLAMA_MODEL=qwen3.5:9b
DB_PATH=/data/ui.db

Lokal bauen/starten

cp .env.example .env
docker compose up -d --build

UI: http://127.0.0.1:8094/


Deployment auf anderem Server (mit Registry-Image)

Beispiel docker-compose.yml (ähnlich zu deinem Traefik-Setup):

version: "3.8"

services:
  diarization-ui:
    image: registry.aquantico.lan/claw/diarization-ui:latest
    container_name: diarization-ui
    restart: always
    environment:
      - API_BASE=http://gx10.aquantico.lan:8093
      - OLLAMA_BASE_URL=http://gx10.aquantico.lan:11434
      - OLLAMA_MODEL=qwen3.5:9b
      - DB_PATH=/data/ui.db
    volumes:
      - diarization_ui_data:/data
    ports:
      - "8094:8094"
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.diarization-ui.rule=Host(`voicelog.aquantico.lan`)"
      - "traefik.http.routers.diarization-ui.entrypoints=websecure"
      - "traefik.http.routers.diarization-ui.tls=true"
      - "traefik.http.services.diarization-ui.loadbalancer.server.port=8094"

networks:
  traefik:
    external: true

volumes:
  diarization_ui_data:

Dann starten:

docker compose pull
docker compose up -d

Podman Pull/Run mit Registry-Image

podman login registry.aquantico.lan --tls-verify=false
podman pull --tls-verify=false registry.aquantico.lan/claw/diarization-ui:latest
podman rm -f diarization-ui || true
podman run -d --name diarization-ui -p 18094:8094 \
  -e API_BASE=http://gx10.aquantico.lan:8093 \
  -e OLLAMA_BASE_URL=http://gx10.aquantico.lan:11434 \
  -e OLLAMA_MODEL=qwen3.5:9b \
  -e DB_PATH=/data/ui.db \
  -v diarization_ui_data:/data \
  registry.aquantico.lan/claw/diarization-ui:latest
Description
No description provided
Readme 719 KiB
Languages
Python 99.6%
Dockerfile 0.4%