Run a homelab from one dashboard with a local LLM agent

A LocalLLaMA poster built Valet, a dashboard whose chat agent runs on Qwen 3.8 27B on a 5090 and pauses Pi-hole, digs through crash logs, requests movies and edits its own config after approval.

Done withCustom agentinDocker· Nov 7, 2026

What they did

The poster, a software engineer, wanted a single place to manage the many self-hosted services in their homelab and keep it private, so they built Valet and run it on their own hardware. It is a dashboard with a chat agent that can use a local or hosted model; at home it runs Qwen 3.8 27B on an RTX 5090. The agent has tools for 185+ integrations and custom plugins, so it can be asked to pause Pi-hole, look into crash logs or request a movie. It also reads its own docs, so asking for a change to the dashboard makes it edit the config file, which waits for the owner's approval. Docker access is read only through a socket proxy. The poster says Claude wrote most of the code while they designed and reviewed it.

How it went

On the 5090 the model generates about 230 tokens a second and most replies take 2 to 5 seconds. Qwen passed roughly 90% of a small eval set the poster wrote. It does worst on open-ended troubleshooting such as working out why a timer is not running, where it can burn through many tool calls. Tool definitions were once about 90% of the prompt; hiding unused tools and loading tools lazily cut tokens per answer by 30 to 50%.

Worth knowing

Turning the model's thinking off made it 2 to 3 times faster but it began inventing answers to follow-up questions. With many services the tool list alone can crowd the context, so trimming tools matters more than the model choice. The dashboard is read only until auth is turned on, API keys stay on the server and are never shown to the model, and any change waits for approval. The poster calls it early and expects rough edges.

Try it

With Custom agent· 4 parts to fill in

You manage my homelab through [my dashboard or tool setup], which exposes tools for [Pi-hole, my media server, Docker and other services]. When I ask for something, load only the tools that request needs, read status and logs first, and tell me what you found in a few lines. For anything that changes state, such as pausing a service, editing [my dashboard config file] or requesting media, show me the exact change and wait for my approval before applying it. If an investigation takes more than [number] tool calls without a clear cause, stop and summarise what you checked and what you suspect.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related