Wolf Beckmann 6924cc80fe feat(diarization-ui): multi-file audio upload with project create-or-select
- Upload page accepts multiple audio files at once
- Project field is a combobox: pick existing or type new name (auto-created)
- Document titles derived from filename without extension
- Files uploaded sequentially with progress bar
- New POST /projects/create-api endpoint (idempotent: returns existing if name matches)
- POST /upload now returns JSON {job_id} instead of HTML redirect

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:42:19 +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%