DEV Community

Cover image for I really thought a home lab was the cheap cloud GPU for LLM answer until the VRAM math slapped me
Lars Winstand
Lars Winstand

Posted on • Originally published at standardcompute.com

I really thought a home lab was the cheap cloud GPU for LLM answer until the VRAM math slapped me

I went into this fully ready to defend the home lab route.

I wanted the same thing a lot of developers want: one quiet box in the corner running OpenClaw 24/7, handling Slack, Discord, Telegram, cron jobs, and internal automations without a per-token meter ticking in the background.

On paper, it sounds perfect.

Buy hardware once. Run forever. Stop renting inference.

But after reading the OpenClaw docs, digging through Reddit threads, and checking actual model memory numbers, I ended up with a different conclusion:

For OpenClaw-style agents, a home lab usually solves the wrong problem.

The cheap part is hosting OpenClaw.
The expensive part is dependable model inference.

The first thing I got wrong: OpenClaw itself is lightweight

This surprised me.

OpenClaw is not the giant resource hog in this setup. The docs make it pretty clear that getting started is straightforward:

  • Node.js 24.15+ recommended
  • Node.js 22.22.3+ supported for compatibility
  • Node.js 25.9+ also works
  • an API key from your model provider
  • about 5 minutes to get running

That means the OpenClaw host itself can be modest.

A Raspberry Pi, Mac mini, NUC, or old laptop is totally reasonable for the control plane.

Typical setup looks like this:

npm install -g openclaw
openclaw onboard
openclaw status --deep
Enter fullscreen mode Exit fullscreen mode

And OpenClaw is flexible where it matters. It can sit in front of tools and chat surfaces like:

  • Slack
  • Discord
  • Telegram
  • WhatsApp
  • Microsoft Teams
  • Signal
  • Matrix
  • Google Chat
  • iMessage

It can also connect to different model backends, including OpenAI-compatible APIs, Anthropic, OpenRouter, MiniMax, and local backends.

So yes, you can self-host the gateway.

That part is easy.

Where the money actually goes

Not into OpenClaw.

Into inference.

More specifically:

  • VRAM
  • KV cache
  • runtime buffers
  • context overhead
  • power
  • reliability tradeoffs when you run close to the edge

I found a thread on r/openclaw where someone asked the exact question a lot of people are asking right now: what should I run locally with OpenClaw?

One reply was brutally direct: "Please don't do this, it's not worth it."

That sounds dramatic until you look at what agent workloads actually need.

A benchmark screenshot is not the job.

The job is:

  • correct tool calls
  • valid JSON or structured output
  • stable long-running sessions
  • predictable behavior during retries
  • not falling apart at 2 a.m. because context or memory got tight

That is a much higher bar than "the model loaded successfully."

The VRAM math is where the fantasy breaks

This is the trap.

Everybody does the same optimistic calculation at first.

You take parameter count, apply quantization, estimate model size, and decide it should fit.

Example:

  • 9B model
  • 4-bit quantization
  • 8 GB GPU
  • seems fine, right?

Not really.

Because inference memory is not just weights.

You also need:

  • KV cache
  • backend buffers
  • runtime overhead
  • room for the OS or other processes if you're on unified memory

A llama.cpp discussion around Gemma 2 9B Q4_K_M on an 8 GB mobile GPU made this painfully concrete.

The rough numbers people cited were:

  • quantized model file: about 5.6 GB
  • context-related memory at default 8192 context: about 2.8 GB
  • plus backend/runtime overhead

That means your neat little "it should fit" estimate is already gone.

A more honest memory budget

Item Approx memory
Gemma 2 9B Q4_K_M weights 5.6 GB
KV/context memory at 8192 ctx 2.8 GB
Buffers + runtime overhead 0.5-1.5+ GB
Total realistic footprint 8.9-9.9+ GB

An 8 GB card is now underwater before you even start pretending this will be stable for agent work.

And once you're that close to the limit, everything gets worse:

  • smaller usable context
  • more offloading
  • worse latency
  • more instability
  • more tuning
  • more time wasted trying to force a bad hardware fit

"It runs" is not the same as "I'd trust it in production"

This is the part people blur together.

You can often run a local model.

That does not mean you should trust it for:

  • coding agents
  • multi-step automations
  • tool-using assistants
  • customer-facing workflows
  • 24/7 event-driven systems

For that, model quality matters a lot.

So does consistency.

And once you start looking at actual model sizes, the consumer hardware story gets rough fast.

The model sizes tell the story better than any argument

Here are a few Ollama model sizes that matter for this discussion:

Model Listed size
qwen2.5:7b 4.7 GB
qwen2.5:14b 9.0 GB
qwen2.5:32b 20 GB
qwen2.5:72b 47 GB
gemma3:12b 8.1 GB
gemma3:27b 17 GB

Now add the thing people like to forget: listed size is not total inference footprint.

That is why the Reddit rule of thumb exists:

VRAM > RAM

If you want stronger open models for agent work, you're quickly in the 12 GB, 16 GB, 24 GB, or higher world.

And that's before you start caring about larger context windows, concurrency, or headroom.

Mac mini is great for OpenClaw, awkward for serious local inference

I think this is where a lot of people get seduced.

The Mac mini is a very good always-on box.

For OpenClaw itself? Great.
For schedulers, webhooks, integrations, bots, and glue code? Also great.

But local inference on Apple Silicon has the usual unified memory caveat: the memory is shared.

So when people say "just run it on a Mac mini," they often skip the part where that memory also belongs to:

  • macOS
  • background services
  • your runtime
  • the rest of your stack

The 2023 Mac mini M2 lineup started at:

  • 8 GB unified memory
  • configurable to 16 GB or 24 GB

M2 Pro started at:

  • 16 GB unified memory
  • configurable higher

That is not dedicated GPU VRAM.

So yes, a Mac mini can host OpenClaw beautifully.

No, that does not automatically make it a good box for dependable local agent inference.

What about Gemma 3 and the new open models?

This is the fair pushback.

And honestly, it's a good one.

Gemma 3 is impressive.

Google shipped support for:

  • function calling
  • structured output
  • long context
  • broad multilingual support

That matters.

Open models are getting better.

But the hardware reality still matters more than the release notes.

If gemma3:27b is listed around 17 GB, that is already out of reach for a lot of "cheap box in the closet" setups before runtime overhead enters the picture.

So my take is not "local models are useless."

My take is:

for agentic automation, the economics and reliability still push most teams toward hosted inference.

The better question: what are you actually optimizing?

Before buying hardware, I think you need to answer this directly.

Local models make sense if you want:

  • privacy
  • offline capability
  • experimentation
  • low-stakes internal tasks
  • a playground for trying Ollama, llama.cpp, or custom pipelines

Hosted inference makes more sense if you want:

  • dependable tool use
  • stronger latest-generation models
  • 24/7 uptime
  • predictable automation behavior
  • less hardware babysitting
  • no constant VRAM math

That distinction matters.

A Reddit user mentioned running Ollama with Qwen2.5 7B on an M2 Mac mini and said it worked fine for local tasks where latency wasn't a big deal.

I believe that.

For cron summaries, low-risk classification, or lightweight assistants, that can be perfectly valid.

But that is a very different claim from:

"This is the best architecture for a serious OpenClaw agent doing tool use all day."

It usually isn't.

The architecture that actually makes sense

The more I read, the more one pattern kept looking sane:

  • keep the gateway local
  • keep your integrations local if you want
  • use hosted inference for the heavy lifting

Something like this:

Slack / Discord / Telegram
          |
          v
      OpenClaw
   (Pi / Mac mini)
          |
          v
 OpenAI-compatible API
          |
          v
 Strong hosted models
Enter fullscreen mode Exit fullscreen mode

That gives you:

  • local control plane
  • easy always-on hosting
  • strong model quality
  • less hardware tuning
  • fewer reliability compromises

And if you're using an OpenAI-compatible endpoint, the code stays simple.

Example with the OpenAI SDK pattern:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL
});

const response = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [
    { role: "system", content: "You are a precise automation assistant." },
    { role: "user", content: "Summarize failed jobs from the last 24 hours and suggest next actions." }
  ]
});

console.log(response.choices[0].message.content);
Enter fullscreen mode Exit fullscreen mode

That same OpenAI-compatible shape is why services like Standard Compute are interesting for this use case.

If your real problem is not "how do I own a GPU" but "how do I run agents all month without token anxiety," then flat-rate OpenAI-compatible inference is a much more relevant answer than buying the wrong local hardware.

Especially for teams running automations in:

  • n8n
  • Make
  • Zapier
  • OpenClaw
  • custom internal agent frameworks

Old laptops are still useful. Just not as your main inference engine.

This was probably the most practical takeaway for me.

An old laptop is not worthless in this stack.

It's actually pretty useful for:

  • hosting OpenClaw
  • receiving webhooks
  • running cron jobs
  • bridging chat apps
  • executing scripts
  • acting as a durable control plane

That is a real win.

What it probably should not be is the box you trust for serious local inference powering important automations.

If you still want to try local, do it honestly

I still think it's worth experimenting.

Just don't lie to yourself about what counts as success.

Start with OpenClaw:

openclaw onboard
openclaw status --deep
Enter fullscreen mode Exit fullscreen mode

Then try a small local model:

ollama run qwen2.5:7b
Enter fullscreen mode Exit fullscreen mode

Then test the behavior you actually care about.

Not "say hello."

Test things like:

  • function calling
  • JSON formatting
  • retry behavior
  • long context tasks
  • multi-step instructions
  • tool selection accuracy

A simple evaluation prompt is more useful than a vibe check:

You are an automation agent.
Return valid JSON only.
Choose exactly one tool from: send_slack, create_ticket, ignore.
If the message contains a production incident, choose create_ticket.
If it contains a routine status update, choose send_slack.
If it is irrelevant, choose ignore.
Enter fullscreen mode Exit fullscreen mode

If the model can't do that reliably, it is not ready for unattended agent work.

That's the bar.

My actual conclusion after doing the homework

I started out wanting the home lab to win.

It still wins for some things:

  • privacy
  • offline workloads
  • tinkering
  • learning
  • low-stakes local tasks

But for OpenClaw-style agents running 24/7, I think most developers are optimizing the wrong layer.

OpenClaw is lightweight.

The gateway belongs on modest hardware.

The hard part is dependable inference.

And once you do the real VRAM math, you realize the local setup often gives you the least useful kind of control.

You own the box.

But you do not automatically get:

  • better model quality
  • better tool use
  • better reliability
  • better throughput
  • lower total cost
  • less operational pain

Sometimes you get the opposite.

If your goal is a dependable agent stack, I think the practical move is:

  1. self-host the gateway if you want
  2. keep the integrations under your control
  3. use strong hosted inference behind an OpenAI-compatible API
  4. stop burning time trying to make an 8 GB machine behave like a data center

That was the part I had backwards.

And honestly, I think a lot of us do.

Top comments (0)