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:
2026-09-07 15:08:56 -07:00
parent 4506ef6fb5
commit e0d1c44137
26 changed files with 35 additions and 35 deletions
+1 -1
View File
@@ -1 +1 @@
lkraven@10.100.79.3 infra-ops@irv-ml1.nh3.internal
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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:-}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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}
+2 -2
View File
@@ -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}
+1 -1
View File
@@ -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}
+8 -8
View File
@@ -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:
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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}
+2 -2
View File
@@ -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: {}
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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.