<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n" -->

---
title: I ditched cloud AI for a local LLM in Proxmox, and my...
description: A home lab builder describes running Lemonade Server inside a Proxmox LXC on a Ryzen AI Max+ 395 box, building a four-tier local model router (Squeeze) that...
canonical: https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I ditched cloud AI for a local LLM in Proxmox, and my home lab finally makes sense | daily.dev
og:description: A home lab builder describes running Lemonade Server inside a Proxmox LXC on a Ryzen AI Max+ 395 box, building a four-tier local model router (Squeeze) that...
og:url: https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n
og:image: https://api.daily.dev/og/posts/BPYSdEY8N.png
og:image:alt: I ditched cloud AI for a local LLM in Proxmox, and my home lab finally makes sense
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I ditched cloud AI for a local LLM in Proxmox, and my home lab finally makes sense

**[XDA Developers](https://daily.dev/sources/xda-developers)** · 5 min read · 0 upvotes · 0 comments

## Summary

A home lab builder describes running Lemonade Server inside a Proxmox LXC on a Ryzen AI Max+ 395 box, building a four-tier local model router (Squeeze) that routes prompts across Qwen3.5 2B/9B, Qwen3-Coder 30B-A3B, and gpt-oss-120b based on a judge model's difficulty classification. Covers device passthrough quirks with the Proxmox API, a bug where a thinking-model judge silently misrouted hard prompts, and the broader argument that self-hosting matters because it lets you inspect and edit the automation rules and reasoning, not just avoid the cloud.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.xda-developers.com/ditched-cloud-ai-for-a-local-llm-proxmox-homelab-finally-makes-sense>

## Questions this post answers

### How do I pass through a GPU device to an LXC container in Proxmox for running a local LLM?

Map the device nodes /dev/kfd, /dev/dri/renderD128, and /dev/dri/card0 into an unprivileged Debian 13 LXC template so the container sees the host's integrated GPU through the host's own driver. On a Ryzen AI Max+ 395 with the Radeon 8060S, this let Lemonade Server 11.8.1 detect it as a gfx1151 device. The Proxmox API refuses this configuration via automation (returning a 403 permission error), requiring manual PCT commands from the shell even with root access.

_Homelabbers wiring GPU passthrough for local AI setups can compare notes on Proxmox quirks via daily.dev._

### Why would a small LLM used as a routing judge silently misclassify all hard prompts as normal?

A thinking model used as a difficulty judge can run out of its token budget writing an internal reasoning plan before ever outputting the required one-word answer (EASY, NORMAL, HARD). When that happens, an on_error fallback setting can silently treat the failure as "not HARD," causing every genuinely hard prompt to fall through to a smaller default model instead of the largest reasoning model. Swapping in a non-thinking 4B judge and rewording the prompt fixed the misrouting.

_Anyone building multi-model LLM routers can trade fixes for judge-model failures on daily.dev._

### What model tiers make sense for a self-hosted multi-model LLM router at home?

One working setup uses four tiers: a 2B model for quick simple queries, a 9B model as the default (and the only tier handling images), a 30B-A3B coder model for anything involving code or tool use, and a 120B model reserved for hard reasoning tasks or large pasted context. A separate small judge model classifies each prompt as EASY, NORMAL, or HARD to route it to the right tier.

_Developers designing local model routing tiers can share configurations and results on daily.dev._

## Similar posts on daily.dev

- [I quantized a local LLM on my home server and ditched cloud AI for smart home control entirely](https://daily.dev/posts/i-quantized-a-local-llm-on-my-home-server-and-ditched-cloud-ai-for-smart-home-control-entirely-sv0xgvzfn) · XDA Developers · 2 upvotes · 0 comments
- [I replaced cloud LLMs with local models running off a Proxmox LXC, and the performance trade-off was worth it](https://daily.dev/posts/i-replaced-cloud-llms-with-local-models-running-off-a-proxmox-lxc-and-the-performance-trade-off-was-xoefffdbp) · XDA Developers · 3 upvotes · 0 comments
- [Nothing in my home lab runs on bare metal anymore, and rebuilding it has never been less painful](https://daily.dev/posts/nothing-in-my-home-lab-runs-on-bare-metal-anymore-and-rebuilding-it-has-never-been-less-painful-0tvnyxcbt) · XDA Developers · 1 upvotes · 0 comments
- [I started self-hosting an LLM, and it became my favorite productivity tool](https://daily.dev/posts/i-started-self-hosting-an-llm-and-it-became-my-favorite-productivity-tool-dwib7trx9) · XDA Developers · 1 upvotes · 0 comments

---

Tags: [#self-hosting](https://daily.dev/tags/self-hosting), [#local-ai](https://daily.dev/tags/local-ai), [#homelab](https://daily.dev/tags/homelab), [#proxmox](https://daily.dev/tags/proxmox)

[View this post on daily.dev](https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"I ditched cloud AI for a local LLM in Proxmox, and my home lab finally makes sense","url":"https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n"},"datePublished":"2026-09-01T10:02:39.451Z","dateModified":"2026-09-01T10:06:43.707Z","description":"A home lab builder describes running Lemonade Server inside a Proxmox LXC on a Ryzen AI Max+ 395 box, building a four-tier local model router (Squeeze) that...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1307040796e7a767b09a00210c5cbbd7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1307040796e7a767b09a00210c5cbbd7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"XDA Developers","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"XDA Developers","logo":"https://media.daily.dev/image/upload/s--kCg6yyAP--/f_auto,q_auto/v1774964407/logos/xda-developers?_a=BAMAMiWQ0","url":"https://daily.dev/sources/xda-developers"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"self-hosting,local-ai,homelab,proxmox","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"XDA Developers","item":"https://daily.dev/sources/xda-developers"},{"@type":"ListItem","position":3,"name":"I ditched cloud AI for a local LLM in Proxmox, and my home lab finally makes sense"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/i-ditched-cloud-ai-for-a-local-llm-in-proxmox-and-my-home-lab-finally-makes-sense-bpysdey8n#faq","mainEntity":[{"@type":"Question","name":"How do I pass through a GPU device to an LXC container in Proxmox for running a local LLM?","acceptedAnswer":{"@type":"Answer","text":"Map the device nodes /dev/kfd, /dev/dri/renderD128, and /dev/dri/card0 into an unprivileged Debian 13 LXC template so the container sees the host's integrated GPU through the host's own driver. On a Ryzen AI Max+ 395 with the Radeon 8060S, this let Lemonade Server 11.8.1 detect it as a gfx1151 device. The Proxmox API refuses this configuration via automation (returning a 403 permission error), requiring manual PCT commands from the shell even with root access. Homelabbers wiring GPU passthrough for local AI setups can compare notes on Proxmox quirks via daily.dev."}},{"@type":"Question","name":"Why would a small LLM used as a routing judge silently misclassify all hard prompts as normal?","acceptedAnswer":{"@type":"Answer","text":"A thinking model used as a difficulty judge can run out of its token budget writing an internal reasoning plan before ever outputting the required one-word answer (EASY, NORMAL, HARD). When that happens, an on_error fallback setting can silently treat the failure as \"not HARD,\" causing every genuinely hard prompt to fall through to a smaller default model instead of the largest reasoning model. Swapping in a non-thinking 4B judge and rewording the prompt fixed the misrouting. Anyone building multi-model LLM routers can trade fixes for judge-model failures on daily.dev."}},{"@type":"Question","name":"What model tiers make sense for a self-hosted multi-model LLM router at home?","acceptedAnswer":{"@type":"Answer","text":"One working setup uses four tiers: a 2B model for quick simple queries, a 9B model as the default (and the only tier handling images), a 30B-A3B coder model for anything involving code or tool use, and a 120B model reserved for hard reasoning tasks or large pasted context. A separate small judge model classifies each prompt as EASY, NORMAL, or HARD to route it to the right tier. Developers designing local model routing tiers can share configurations and results on daily.dev."}}]}
```

