Skip to content

Krieger (GPU host)

The home GPU machine — Windows, on the tailnet as krieger (100.90.162.24). Normally asleep; woken on demand rather than left running 24/7.

  • Ollama — local LLM inference. Models currently proxied through LiteLLM include Qwen 2.5 7B, a Foundation-Sec 8B fine-tune, Moondream, and Qwen 3.5 9B.
  • ComfyUI — image generation.
  • Presumably a transcription service too, given the transcribe-wake-proxy described below — worth confirming/documenting what specifically runs there.

Lana never talks to Krieger directly. Each service has its own small “wake-proxy” container on Lana (ollama-wake-proxy, comfyui-wake-proxy, transcribe-wake-proxy, all part of the litellm stack in vps-infra) that:

  1. Receives the request meant for Krieger.
  2. Sends a Wake-on-LAN packet via Home Assistant if Krieger looks asleep.
  3. Waits for the target service (Ollama, ComfyUI, etc.) to come up.
  4. Forwards the original request over Tailscale.

This is why LiteLLM’s ollama_chat/* models can have a longer first-request latency — that’s Krieger waking up, not a slow model.

There’s also a separate, more direct Wake-on-LAN call from Home Assistant that predates the wake-proxies and may power an in-app “wake now” button rather than the transparent per-request wake above. Worth checking litellm/ollama-wake-proxy and litellm/providers/ollama-provider.js in vps-infra/flowviz before assuming which code path is actually live.

This page is a starting point, not exhaustive — worth adding:

  • Hardware specs (GPU model, RAM)
  • Exactly what the transcription service is and how it’s invoked
  • How sleep/wake is triggered on the Windows side (Home Assistant integration, WoL config)