chore(fleet): repoint stale irv-ml1 refs (10.100.79.3 -> irv-ml1.nh3.internal)
The 2026-09-06 headscale cutover retired irv-ml1's wg0 tunnel IP 10.100.79.3 (now 10.6.110.50). Repointed all LIVE canonical refs to the DNS NAME so the next move can't re-break them: homepage.href/siteMonitor labels across 25 stack composes, load-bearing env defaults (asset-engine INFERENCE_HOST, open-webui AUDIO_TTS_OPENAI_API_BASE_URL, skaldsong SKALDSONG_TTS_BASE_URL, zonos-gateway ZONOS_URL, dia), homepage services.yaml manual cards (Voice Design Studio, IRV-ML1), and servers/irv-ml1/ssh-target. Updated the stale 'WG tunnel' comment to the mesh reality. Left as-is: README curl-examples and .env.example comments (docs), and historical mentions in CLAUDE.md/persistent-memory. NOTE: applying the label repoints to the RUNNING irv-ml1 containers needs a recreate per service (labels read at creation); deployed .env values are separate from these canonical defaults.
This commit is contained in:
@@ -1 +1 @@
|
|||||||
lkraven@10.100.79.3
|
infra-ops@irv-ml1.nh3.internal
|
||||||
|
|||||||
@@ -71,4 +71,4 @@ services:
|
|||||||
- homepage.name=ACE-Step
|
- homepage.name=ACE-Step
|
||||||
- homepage.icon=mdi-music-note-eighth
|
- homepage.icon=mdi-music-note-eighth
|
||||||
- homepage.description=Open-source music generation — 4-min song in ~60s, lyrics + style prompts (irv-ml1)
|
- homepage.description=Open-source music generation — 4-min song in ~60s, lyrics + style prompts (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${ACE_STEP_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${ACE_STEP_PORT}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ services:
|
|||||||
- homepage.name=Arbo
|
- homepage.name=Arbo
|
||||||
- homepage.icon=mdi-image-multiple-outline
|
- homepage.icon=mdi-image-multiple-outline
|
||||||
- homepage.description=Catalog-driven ComfyUI engine (irv-ml1)
|
- homepage.description=Catalog-driven ComfyUI engine (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${ARBO_PORT:-8200}
|
- homepage.href=http://irv-ml1.nh3.internal:${ARBO_PORT:-8200}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
arbo_db:
|
arbo_db:
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ services:
|
|||||||
# App always listens on 8000 internally; host port is the only knob.
|
# App always listens on 8000 internally; host port is the only knob.
|
||||||
- RUNTIME_DIR=/app/runtime
|
- RUNTIME_DIR=/app/runtime
|
||||||
- DB_URL=sqlite:////app/runtime/db/asset_engine.db
|
- DB_URL=sqlite:////app/runtime/db/asset_engine.db
|
||||||
- INFERENCE_HOST=${INFERENCE_HOST:-10.100.79.3}
|
- INFERENCE_HOST=${INFERENCE_HOST:-irv-ml1.nh3.internal}
|
||||||
# OIDC seam is empty in v1; populated in v2 when forward-auth lands.
|
# OIDC seam is empty in v1; populated in v2 when forward-auth lands.
|
||||||
- OIDC_ISSUER=${OIDC_ISSUER:-}
|
- OIDC_ISSUER=${OIDC_ISSUER:-}
|
||||||
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-}
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-}
|
||||||
|
|||||||
@@ -71,4 +71,4 @@ services:
|
|||||||
- homepage.name=Chatterbox Turbo
|
- homepage.name=Chatterbox Turbo
|
||||||
- homepage.icon=mdi-account-music-outline
|
- homepage.icon=mdi-account-music-outline
|
||||||
- homepage.description=Low-latency English TTS w/ voice cloning + paralinguistics (irv-ml1)
|
- homepage.description=Low-latency English TTS w/ voice cloning + paralinguistics (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${CHATTERBOX_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${CHATTERBOX_PORT}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ services:
|
|||||||
- homepage.name=ComfyUI
|
- homepage.name=ComfyUI
|
||||||
- homepage.icon=mdi-image-auto-adjust
|
- homepage.icon=mdi-image-auto-adjust
|
||||||
- homepage.description=Node-based SD/Flux inference (irv-ml1)
|
- homepage.description=Node-based SD/Flux inference (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${COMFYUI_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${COMFYUI_PORT}
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
tnet:
|
tnet:
|
||||||
|
|||||||
@@ -57,4 +57,4 @@ services:
|
|||||||
- homepage.name=CosyVoice
|
- homepage.name=CosyVoice
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Expressive multilingual TTS + cloning (irv-ml1)
|
- homepage.description=Expressive multilingual TTS + cloning (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${COSYVOICE_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${COSYVOICE_PORT}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ services:
|
|||||||
- homepage.name=Dia2 2B (HQ)
|
- homepage.name=Dia2 2B (HQ)
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Dialogue TTS — Dia2 2B, highest quality (irv-ml1)
|
- homepage.description=Dialogue TTS — Dia2 2B, highest quality (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${DIA2_2B_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${DIA2_2B_PORT}
|
||||||
|
|
||||||
dia2-1b:
|
dia2-1b:
|
||||||
image: local/dia:${DIA_TAG}
|
image: local/dia:${DIA_TAG}
|
||||||
@@ -78,4 +78,4 @@ services:
|
|||||||
- homepage.name=Dia2 1B (Streaming)
|
- homepage.name=Dia2 1B (Streaming)
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Dialogue TTS — Dia2 1B, streaming/faster (irv-ml1)
|
- homepage.description=Dialogue TTS — Dia2 1B, streaming/faster (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${DIA2_1B_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${DIA2_1B_PORT}
|
||||||
|
|||||||
@@ -102,4 +102,4 @@ services:
|
|||||||
- homepage.name=Fish Audio S2-Pro
|
- homepage.name=Fish Audio S2-Pro
|
||||||
- homepage.icon=mdi-fish
|
- homepage.icon=mdi-fish
|
||||||
- homepage.description=Most expressive open-source TTS — 15k+ paralinguistic tags, voice cloning, 80+ languages (irv-ml1)
|
- homepage.description=Most expressive open-source TTS — 15k+ paralinguistic tags, voice cloning, 80+ languages (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${FISH_S2_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${FISH_S2_PORT}
|
||||||
|
|||||||
@@ -61,9 +61,9 @@
|
|||||||
# with the other studios rather than in Apps: it is a workspace you open and
|
# with the other studios rather than in Apps: it is a workspace you open and
|
||||||
# produce something in, which is exactly what that group is for.
|
# produce something in, which is exactly what that group is for.
|
||||||
- Voice Design Studio:
|
- Voice Design Studio:
|
||||||
href: http://10.100.79.3:8216/
|
href: http://irv-ml1.nh3.internal:8216/
|
||||||
icon: mdi-microphone
|
icon: mdi-microphone
|
||||||
siteMonitor: http://10.100.79.3:8216/health
|
siteMonitor: http://irv-ml1.nh3.internal:8216/health
|
||||||
description: Mint, audition and keeper-mark synthetic fleet voices — irv-ml1, CPU-only
|
description: Mint, audition and keeper-mark synthetic fleet voices — irv-ml1, CPU-only
|
||||||
|
|
||||||
- Media:
|
- Media:
|
||||||
@@ -178,17 +178,17 @@
|
|||||||
description: Proxmox Backup Server — DR mirror (pulls from PBS-ANA)
|
description: Proxmox Backup Server — DR mirror (pulls from PBS-ANA)
|
||||||
|
|
||||||
- Infra - IRV:
|
- Infra - IRV:
|
||||||
# Irvine site — reachable only via WireGuard tunnel from NH3.
|
# Irvine site — irv-ml1 folded into the headscale mesh 2026-09-06; the
|
||||||
# The 10.100.79.0/24 subnet is the WG tunnel IP space; these cards
|
# old 10.100.79.0/24 WG tunnel space is dormant. These cards resolve via
|
||||||
# only light up when the WG link is healthy.
|
# irv-ml1.nh3.internal (-> 10.6.110.50) and light up over the mesh.
|
||||||
- IRV-ML1:
|
- IRV-ML1:
|
||||||
ping: 10.100.79.3
|
ping: irv-ml1.nh3.internal
|
||||||
icon: mdi-brain
|
icon: mdi-brain
|
||||||
description: GPU host (bare-metal, RTX 3090 + RTX A6000, native AI stacks)
|
description: GPU host (bare-metal, RTX 3090 + RTX A6000, native AI stacks)
|
||||||
- IRV-ML1-Dockge:
|
- IRV-ML1-Dockge:
|
||||||
href: http://10.100.79.3:5001
|
href: http://irv-ml1.nh3.internal:5001
|
||||||
icon: si-docker
|
icon: si-docker
|
||||||
siteMonitor: http://10.100.79.3:5001
|
siteMonitor: http://irv-ml1.nh3.internal:5001
|
||||||
description: Docker management (irv-ml1)
|
description: Docker management (irv-ml1)
|
||||||
|
|
||||||
- Infra - ESH:
|
- Infra - ESH:
|
||||||
|
|||||||
@@ -60,4 +60,4 @@ services:
|
|||||||
- homepage.name=IndexTTS-2
|
- homepage.name=IndexTTS-2
|
||||||
- homepage.icon=mdi-account-music
|
- homepage.icon=mdi-account-music
|
||||||
- homepage.description=Emotion-controllable TTS w/ voice cloning (irv-ml1)
|
- homepage.description=Emotion-controllable TTS w/ voice cloning (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${INDEX_TTS_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${INDEX_TTS_PORT}
|
||||||
|
|||||||
@@ -65,4 +65,4 @@ services:
|
|||||||
- homepage.name=Kokoro
|
- homepage.name=Kokoro
|
||||||
- homepage.icon=mdi-microphone-message
|
- homepage.icon=mdi-microphone-message
|
||||||
- homepage.description=Low-latency English TTS w/ streaming (irv-ml1)
|
- homepage.description=Low-latency English TTS w/ streaming (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${KOKORO_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${KOKORO_PORT}
|
||||||
|
|||||||
@@ -55,4 +55,4 @@ services:
|
|||||||
- homepage.name=Kyutai TTS
|
- homepage.name=Kyutai TTS
|
||||||
- homepage.icon=mdi-radio-tower
|
- homepage.icon=mdi-radio-tower
|
||||||
- homepage.description=Ultra-low-latency streaming TTS — 220 ms on solo GPU, EN/FR (irv-ml1)
|
- homepage.description=Ultra-low-latency streaming TTS — 220 ms on solo GPU, EN/FR (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${KYUTAI_TTS_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${KYUTAI_TTS_PORT}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ services:
|
|||||||
- homepage.name=mOrpheus TTS
|
- homepage.name=mOrpheus TTS
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Uncensored Orpheus TTS (baddy + zero-shot clone), real-time, irv-ml1
|
- homepage.description=Uncensored Orpheus TTS (baddy + zero-shot clone), real-time, irv-ml1
|
||||||
- homepage.href=http://10.100.79.3:${MORPHEUS_TTS_PORT:-8299}/docs
|
- homepage.href=http://irv-ml1.nh3.internal:${MORPHEUS_TTS_PORT:-8299}/docs
|
||||||
networks: [morpheus-net]
|
networks: [morpheus-net]
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -53,4 +53,4 @@ services:
|
|||||||
- homepage.name=OmniVoice
|
- homepage.name=OmniVoice
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Zero-shot multilingual voice-cloning TTS, OpenAI /v1/audio/speech (irv-ml1, 3090)
|
- homepage.description=Zero-shot multilingual voice-cloning TTS, OpenAI /v1/audio/speech (irv-ml1, 3090)
|
||||||
- homepage.href=http://10.100.79.3:${OMNIVOICE_PORT}/docs
|
- homepage.href=http://irv-ml1.nh3.internal:${OMNIVOICE_PORT}/docs
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ services:
|
|||||||
# --- TTS (G4): direct at the dots gateway, engine + base URL settled;
|
# --- TTS (G4): direct at the dots gateway, engine + base URL settled;
|
||||||
# model/voice are tts-dev's to tune. Seat is LAN/WG-only, no auth. ---
|
# model/voice are tts-dev's to tune. Seat is LAN/WG-only, no auth. ---
|
||||||
- AUDIO_TTS_ENGINE=${AUDIO_TTS_ENGINE:-openai}
|
- AUDIO_TTS_ENGINE=${AUDIO_TTS_ENGINE:-openai}
|
||||||
- AUDIO_TTS_OPENAI_API_BASE_URL=${AUDIO_TTS_OPENAI_API_BASE_URL:-http://10.100.79.3:8198/v1}
|
- AUDIO_TTS_OPENAI_API_BASE_URL=${AUDIO_TTS_OPENAI_API_BASE_URL:-http://irv-ml1.nh3.internal:8198/v1}
|
||||||
- AUDIO_TTS_OPENAI_API_KEY=${AUDIO_TTS_OPENAI_API_KEY:-sk-no-auth-lan-seat}
|
- AUDIO_TTS_OPENAI_API_KEY=${AUDIO_TTS_OPENAI_API_KEY:-sk-no-auth-lan-seat}
|
||||||
- AUDIO_TTS_MODEL=${AUDIO_TTS_MODEL:-tts-1}
|
- AUDIO_TTS_MODEL=${AUDIO_TTS_MODEL:-tts-1}
|
||||||
- AUDIO_TTS_VOICE=${AUDIO_TTS_VOICE:-nova}
|
- AUDIO_TTS_VOICE=${AUDIO_TTS_VOICE:-nova}
|
||||||
|
|||||||
@@ -50,4 +50,4 @@ services:
|
|||||||
- homepage.name=Parakeet ASR
|
- homepage.name=Parakeet ASR
|
||||||
- homepage.icon=mdi-microphone
|
- homepage.icon=mdi-microphone
|
||||||
- homepage.description=Parakeet-TDT speech-to-text via sherpa-onnx (irv-ml1)
|
- homepage.description=Parakeet-TDT speech-to-text via sherpa-onnx (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${PARAKEET_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${PARAKEET_PORT}
|
||||||
|
|||||||
@@ -80,4 +80,4 @@ services:
|
|||||||
- homepage.name=Qwen3-TTS
|
- homepage.name=Qwen3-TTS
|
||||||
- homepage.icon=mdi-account-voice
|
- homepage.icon=mdi-account-voice
|
||||||
- homepage.description=Multilingual TTS with English-first emotion (irv-ml1)
|
- homepage.description=Multilingual TTS with English-first emotion (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${QWEN3_TTS_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${QWEN3_TTS_PORT}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ services:
|
|||||||
# TTS — Kokoro on irv-ml1, reached over WireGuard via ana-wg from
|
# TTS — Kokoro on irv-ml1, reached over WireGuard via ana-wg from
|
||||||
# ana-docker. Same URL works fleet-wide.
|
# ana-docker. Same URL works fleet-wide.
|
||||||
SKALDSONG_TTS_ENGINE: "${SKALDSONG_TTS_ENGINE:-kokoro}"
|
SKALDSONG_TTS_ENGINE: "${SKALDSONG_TTS_ENGINE:-kokoro}"
|
||||||
SKALDSONG_TTS_BASE_URL: "${SKALDSONG_TTS_BASE_URL:-http://10.100.79.3:8193}"
|
SKALDSONG_TTS_BASE_URL: "${SKALDSONG_TTS_BASE_URL:-http://irv-ml1.nh3.internal:8193}"
|
||||||
|
|
||||||
# VibeVoice secondary TTS engine (issue #73, added 2026-05-27).
|
# VibeVoice secondary TTS engine (issue #73, added 2026-05-27).
|
||||||
# Same fleet (irv-ml1) as Kokoro, separate port 8194. Encode-once
|
# Same fleet (irv-ml1) as Kokoro, separate port 8194. Encode-once
|
||||||
|
|||||||
@@ -80,4 +80,4 @@ services:
|
|||||||
- homepage.name=Speaches ASR
|
- homepage.name=Speaches ASR
|
||||||
- homepage.icon=mdi-text-to-speech
|
- homepage.icon=mdi-text-to-speech
|
||||||
- homepage.description=OpenAI-compatible faster-whisper STT, verbose_json (irv-ml1)
|
- homepage.description=OpenAI-compatible faster-whisper STT, verbose_json (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${SPEACHES_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${SPEACHES_PORT}
|
||||||
|
|||||||
@@ -58,4 +58,4 @@ services:
|
|||||||
- homepage.name=Stable Audio Open
|
- homepage.name=Stable Audio Open
|
||||||
- homepage.icon=mdi-waveform
|
- homepage.icon=mdi-waveform
|
||||||
- homepage.description=Diffusion SFX/ambience generator — up to 47s at 44.1 kHz (irv-ml1)
|
- homepage.description=Diffusion SFX/ambience generator — up to 47s at 44.1 kHz (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${SAO_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${SAO_PORT}
|
||||||
|
|||||||
@@ -65,4 +65,4 @@ services:
|
|||||||
- homepage.name=VibeVoice
|
- homepage.name=VibeVoice
|
||||||
- homepage.icon=mdi-podcast
|
- homepage.icon=mdi-podcast
|
||||||
- homepage.description=Long-form / multi-speaker dialogue TTS (irv-ml1)
|
- homepage.description=Long-form / multi-speaker dialogue TTS (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${VIBEVOICE_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${VIBEVOICE_PORT}
|
||||||
|
|||||||
@@ -83,4 +83,4 @@ services:
|
|||||||
- homepage.name=Voxtral TTS
|
- homepage.name=Voxtral TTS
|
||||||
- homepage.icon=mdi-translate
|
- homepage.icon=mdi-translate
|
||||||
- homepage.description=Mistral 4B multilingual streaming TTS — 70 ms latency, voice cloning (irv-ml1)
|
- homepage.description=Mistral 4B multilingual streaming TTS — 70 ms latency, voice cloning (irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${VOXTRAL_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${VOXTRAL_PORT}
|
||||||
|
|||||||
@@ -86,8 +86,8 @@ services:
|
|||||||
- homepage.name=Waterland Studio
|
- homepage.name=Waterland Studio
|
||||||
- homepage.icon=mdi-watercolor
|
- homepage.icon=mdi-watercolor
|
||||||
- homepage.description=Watercolour plate + reveal animation renderer (irv-ml1, A6000)
|
- homepage.description=Watercolour plate + reveal animation renderer (irv-ml1, A6000)
|
||||||
- homepage.href=http://10.100.79.3:${WLS_PORT:-8410}/
|
- homepage.href=http://irv-ml1.nh3.internal:${WLS_PORT:-8410}/
|
||||||
- homepage.siteMonitor=http://10.100.79.3:${WLS_PORT:-8410}/api/health
|
- homepage.siteMonitor=http://irv-ml1.nh3.internal:${WLS_PORT:-8410}/api/health
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
waterland_studio_data: {}
|
waterland_studio_data: {}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ services:
|
|||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
environment:
|
environment:
|
||||||
# Default targets the Zonos server on the same host. For a non-colocated
|
# Default targets the Zonos server on the same host. For a non-colocated
|
||||||
# or dev target, override in .env (e.g. ZONOS_URL=http://10.100.79.3:1920).
|
# or dev target, override in .env (e.g. ZONOS_URL=http://irv-ml1.nh3.internal:1920).
|
||||||
ZONOS_URL: ${ZONOS_URL:-http://host.docker.internal:1920}
|
ZONOS_URL: ${ZONOS_URL:-http://host.docker.internal:1920}
|
||||||
PORT: ${PORT:-8890}
|
PORT: ${PORT:-8890}
|
||||||
DEFAULT_VOICE: ${DEFAULT_VOICE:-Cora}
|
DEFAULT_VOICE: ${DEFAULT_VOICE:-Cora}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ services:
|
|||||||
- homepage.name=Zonos
|
- homepage.name=Zonos
|
||||||
- homepage.icon=mdi-waveform
|
- homepage.icon=mdi-waveform
|
||||||
- homepage.description=Expressive multilingual TTS + cloning, 44kHz (Gradio eval, irv-ml1)
|
- homepage.description=Expressive multilingual TTS + cloning, 44kHz (Gradio eval, irv-ml1)
|
||||||
- homepage.href=http://10.100.79.3:${ZONOS_PORT}
|
- homepage.href=http://irv-ml1.nh3.internal:${ZONOS_PORT}
|
||||||
|
|
||||||
# OpenAI-ish REST adapter (POST /v1/audio/speech) that asset-engine
|
# OpenAI-ish REST adapter (POST /v1/audio/speech) that asset-engine
|
||||||
# routes to — upstream Zonos has no REST surface, only Gradio + SDK.
|
# routes to — upstream Zonos has no REST surface, only Gradio + SDK.
|
||||||
|
|||||||
Reference in New Issue
Block a user