2026 年的 Homelab AI Stack:自托管者实际在运行的内容
Source: Dev.to
花五分钟浏览 r/selfhosted,你会注意到:讨论已经改变。
两年前,大家都在问 “我应该运行什么?” 现在他们分享的高级技术栈可以媲美小型企业的基础设施。自托管 AI 运动已经成熟。以下是 2026 年真正值得部署的内容。
核心堆栈(保留的部分)
Ollama — 本地 LLM 运行时
Ollama 取胜。它在简易性上胜过 LocalAI,在用户体验上胜过 llama.cpp,且模型库让拉取新模型变得极其简单。
# Install
curl -fsSL https://ollama.ai/install.sh | sh
# Pull the best‑value model for 16 GB RAM
ollama pull qwen2.5:14b
# Or for 24 GB+ (M4 Mac mini, high‑RAM PC)
ollama pull qwen2.5:32b
# Test immediately
ollama run qwen2.5:14b "Explain what makes a good Docker Compose file"
硬件现实检查
| 内存 | 实际模型规模 | 典型使用 |
|---|---|---|
| 8 GB | 7 B | 基础任务 |
| 16 GB | 14 B | 稳定的能力 |
| 24 GB(M4 Mac mini 的最佳配置) | 32 B | 接近 GPT‑4 质量 |
| 32 GB 以上 | 70 B | 各方面表现优秀 |
Open WebUI — 界面
部署约 2 分钟,即可在本地获得相当于 ChatGPT 的 UI。
# docker-compose.yml
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://host.docker.internal:11434
ports:
- "3000:8080"
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
volumes:
open-webui:
n8n — 自动化大脑
用于将 AI 与其他一切连接。自托管、无每工作流限制、完全可控。
2026 年的杀手级用例: n8n + Ollama = private AI automations that cost $0/month to run.
我的实际运行工作流:
- Gmail → Ollama 分类 → 优先级标记 → Telegram 通知
- RSS 源 → Ollama 摘要 → 每日 7 am 汇总
- 服务器日志 → Ollama 异常检查 → 若异常则警报
2026 年更换了什么
| 替换项 | 替换为 |
|---|---|
| LocalAI | Ollama |
| Flowise | n8n |
| Custom Python scripts | n8n workflows |
为什么? Ollama 功能更完整,n8n 同时处理 AI 以及 其他所有事务,且 n8n 工作流可检查、编辑、调试,无需触及代码。
2026 新增内容
Whisper.cpp — 本地音频转录
brew install whisper-cpp # or build from source for max performance
# Transcribe any audio file
whisper-cpp --model base.en audio.mp3
使用场景:会议转录、语音笔记 → 文本、本地播客搜索。
LiteLLM — 统一代理
LiteLLM 位于所有 AI 模型前方,提供单一兼容 OpenAI 的 API 端点。
# docker-compose.yml (excerpt)
services:
litellm:
image: ghcr.io/berriai/litellm:main-latest
ports:
- "4000:4000"
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
volumes:
- ./litellm_config.yaml:/app/config.yaml
现在,你的技术栈中的每个应用——n8n、Open WebUI、你的脚本——都指向 http://litellm:4000,只需编辑一个配置文件即可切换模型。
ChromaDB + LlamaIndex — 私有 RAG
使用 AI 搜索你自己的文档。全部本地、全部私密。
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.vector_stores.chroma import ChromaVectorStore
import chromadb
# Index your documents
docs = SimpleDirectoryReader('/your/docs/folder').load_data()
db = chromadb.PersistentClient(path='./chroma_db')
collection = db.get_or_create_collection('my_docs')
store = ChromaVectorStore(chroma_collection=collection)
# Query them
index = VectorStoreIndex.from_documents(docs, vector_store=store)
engine = index.as_query_engine()
response = engine.query('What did we decide about the API architecture?')
print(response)
硬件问题
GPU 服务器 vs. Apple Silicon?
在 2026 年,针对家庭实验室规模的纯 AI 推理,Apple Silicon 在性价比上占优势。
| Device | Typical performance | Pros | Cons |
|---|---|---|---|
| M4 Mac mini (24 GB, ~$800) | 32 B 模型 @ 10‑15 tokens / 秒 | 静音,空闲功耗 30 W,无独立 GPU,macOS = 易于维护 | 仅限于 Apple 生态系统 |
| NVIDIA RTX 4090 server (24 GB VRAM) | 大批量时更快,适合微调 | 原始吞吐量更高,适合训练 | 噪音大,负载时 450 W,仅限 Linux,成本更高 |
- 拥有 1‑5 名并发用户的家庭实验室(文本任务): Mac mini M4。
- 需要高推理吞吐或训练: GPU 服务器。
监控栈
不要在不知道它们何时出错的情况下运行 AI 服务。
- Uptime Kuma – 对 Ollama、n8n、Open WebUI 等进行健康检查。
- Netdata – 每个容器的资源使用情况。
- Loki + Grafana – 聚合所有容器的日志。
# Example snippet for log collection (docker‑compose)
labels:
- logging=promtail
- logging_jobname=containerlogs
我在新服务器上首先会设置的内容
按顺序,如果从零开始:
- Traefik – 反向代理 + 自动 HTTPS(其他所有服务都放在它后面)。
- Ollama – 首先拉取
qwen2.5:14b,根据需要再添加其他模型。 - Open WebUI – 与模型聊天的 UI。
- n8n – 自动化工作流。
- LiteLLM – 统一的 API 端点。
- ChromaDB + LlamaIndex – 私有 RAG。
- Whisper.cpp – 本地转录。
- 监控栈 – Uptime Kuma、Netdata、Loki + Grafana。
这就是 2026 年众多自托管者实际使用、经过实战检验的技术栈。祝构建愉快!
即时可用界面
- n8n — 自动化大脑
- LiteLLM — 统一 API 代理
- Uptime Kuma — 监控
- Vaultwarden — 密码管理器(你需要它)
大多数人忽视的关键
在本地运行模型只是价值的一半。
另一半是 将它们连接到你的实际工作流——你的电子邮件、日历、代码库、文档。一个只在聊天窗口回答问题的本地 LLM,就等同于一个非常慢、私有的 ChatGPT 版本。
一个接入 n8n、能够自动分拣你的邮件、监控服务器并汇总笔记的本地 LLM——这才是真正的杠杆效应。
SIGNAL 每周发布。关注 @signal-weekly 获取更多实用的构建者内容。
接下来: 我如何使用 AI 代理自动化家庭实验室中枯燥的工作——具体的 n8n 工作流、可运行的代码。