# ════════════════════════════════════════════════ # ARIA FLUX-Bridge — Text-to-Image (GPU) # Eigener Stack, weil FLUX auch auf einer anderen # Maschine als f5tts/whisper laufen kann (z.B. 4090 # separat vom Gaming-PC). Verbindet sich selbst per # WebSocket zum RVS und lauscht auf flux_request. # ════════════════════════════════════════════════ # # Voraussetzungen: # - NVIDIA-GPU mit >= 12 GB VRAM (3060 reicht mit # enable_model_cpu_offload). Bei < 12 GB: # FLUX_OFFLOAD=sequential setzen, sonst OOM. # - Docker mit NVIDIA Container Toolkit # - HuggingFace-Token in .env (FLUX.1-dev ist gated) # - .env mit RVS-Verbindungsdaten (gleiche wie xtts!) # # Start: docker compose up -d # ════════════════════════════════════════════════ services: # ─── FLUX Bildgenerierung (GPU) ───────── # Empfaengt flux_request via RVS, rendert PNG mit FLUX (12B Params) # und broadcastet flux_response mit base64-PNG zurueck. aria-bridge speichert # die Datei nach /shared/uploads/ und ARIA referenziert sie via [FILE:]-Marker. # # Modell-Wahl + HuggingFace-Token werden in ARIA Diagnostic eingestellt # ("FLUX Bildgenerierung") und per RVS gepusht — hier nichts noetig. flux-bridge: build: . container_name: aria-flux-bridge deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] environment: - RVS_HOST=${RVS_HOST} - RVS_PORT=${RVS_PORT:-443} - RVS_TLS=${RVS_TLS:-true} - RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true} - RVS_TOKEN=${RVS_TOKEN} # Hardware-Bootstrap (Diagnostic-Settings uebersteuern alles andere # zur Laufzeit — diese envs sind nur Edge-Case-Fallbacks). - FLUX_DEVICE=${FLUX_DEVICE:-cuda} - FLUX_DTYPE=${FLUX_DTYPE:-bfloat16} - FLUX_OFFLOAD=${FLUX_OFFLOAD:-model} - FLUX_MAX_STEPS=${FLUX_MAX_STEPS:-50} - FLUX_MAX_DIM=${FLUX_MAX_DIM:-1536} volumes: - ./hf-cache:/root/.cache/huggingface # Bind-Mount. FLUX.1-dev ~24 GB on disk! # Wenn flux auf der gleichen Maschine # wie xtts laeuft: ../xtts/hf-cache # symlinken um den Cache zu teilen. restart: unless-stopped