Files
esh-pfi-infrastructure/stacks/gateway-chat
vh 569e1af9ca feat(homepage): split AI fleet into role-based groups on a dedicated AI tab
Move the ~22-service flat "AI Systems" group off the Main tab into a new
four-tab layout (Main / AI / Infrastructure / Toolchain). The AI tab sorts
the inference fleet by function into seven groups:

  AI - Inference        gen, char-rp, char-rp-reasoning, Granite summarizer
  AI - Eval & Retrieval Selene, Skywork Reward, Qwen3 rerank/embed, image-bench
  AI - Gateways & Chat  LiteLLM, Asset Engine, Gateway Chat, Open WebUI, ...
  AI - Speech (TTS)     Chatterbox Fast, Kokoro, mOrpheus
  AI - Audio Tools      Parakeet ASR, YT Voice Clipper
  AI - Image & Media    ComfyUI, Arbo
  AI - Dormant          stopped rollback seats + retired auditions

Relabel each stack's homepage.group so canonical stacks/ matches the live
containers on ana-ml2, ana-docker, and irv-ml1. Dormant stacks were refreshed
with `docker compose up --no-start` so they carry the new label while staying
stopped (compose-start rollback preserved). settings.yaml drives tab/order/
columns; services.yaml and README updated to the new scheme.
2026-07-14 20:05:50 -07:00
..

gateway-chat

Persistent static-serve of tools/gateway-chat.html — the zero-dependency web chat for smoking models on the LiteLLM gateway (10.250.50.70:4000). It auto-discovers every gateway model via /v1/models (the ↻ control — new models just appear), takes system prompts, streams responses (renders reasoning_content), and supports image upload for vision models (Qwopus, image-judge). It deliberately never sends a tools field, sidestepping the vLLM empty-tools 400.

  • Host: ana-docker (non-GPU)
  • URL: http://10.250.50.70:8091
  • Image: nginx:alpine (tiny static server — no GPU, no DB)
  • Served file: conf/index.html → mounted read-only at /usr/share/nginx/html/index.html

The served file mirrors tools/gateway-chat.html

The canonical/editable source is the repo's tools/gateway-chat.html (also openable file:// or via python3 -m http.server -d tools). conf/index.html here is the deployed copy. After editing the tool, re-sync + redeploy:

cp tools/gateway-chat.html stacks/gateway-chat/conf/index.html
scripts/deploy-stack.sh ana-docker gateway-chat --conf

No restart needed — the file is bind-mounted, so nginx serves the new content on the next request. (Restart only if you want a forced reload.)

Deploy

scripts/deploy-stack.sh ana-docker gateway-chat            # compose + conf
ssh ana-docker 'cd /opt/docker/compose/gateway-chat && docker compose up -d'

Set the gateway base URL + an API key in the page's sidebar (persists in localStorage), then hit ↻ to load the model list.