selfhost-ai
一条命令部署30+私有AI工具链,n8n工作流+Ollama本地大模型+RAG知识库+Caddy自动
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
一条命令部署30+私有AI工具链,n8n工作流+Ollama本地大模型+RAG知识库+Caddy自动
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是独立开发者小王,刚刚拿到一台新 VPS,想快速搭一套本地 AI 工作流——n8n 做自动化、Ollama 跑本地大模型、RAG 做知识库问答、Flowise 配置 AI Agent。往常光是研究每个工具怎么配置、怎么让它们互相通信,就够你折腾一整周。而 Selfhost AI 就是来解决这个痛点的:一条命令,全搞定。
Selfhost AI(项目名 kossakovsky/selfhost-ai)由独立开发者 kossakovsky 创建,定位是一个基于 Docker Compose 的交互式安装器,帮助用户在 VPS 上零配置部署一整套 AI 自动化工具链。项目最初名为 n8n-install,随着支持的工具越来越多,逐步演化为今天涵盖 30+ 工具的综合性平台。截至目前已积累 896 Stars、228 Forks,在 GitHub self-hosted AI 分类下属于增长极快的明星项目。
这个项目的诞生背景非常清晰:随着本地大模型技术成熟,越来越多的开发者希望把 AI 能力部署在自己的服务器上,而不是把数据送到 OpenAI 或 Anthropic 的服务器。但 AI 工具链的部署门槛——多容器联动、HTTPS 配置、服务间通信、API Key 管理——让大多数非 DevOps 背景的开发者望而却步。Selfhost AI 正是瞄准了这个 Gap。
Selfhost AI 的安装流程被封装在一个交互式 Shell 脚本 scripts/install.sh 中,用户只需执行:
git clone https://github.com/kossakovsky/selfhost-ai && cd selfhost-ai && sudo bash ./scripts/install.sh
安装脚本会依次完成:系统环境准备(防火墙、安全加固)→ 安装 Docker & Docker Compose → 生成 .env 配置文件(含随机密钥)→ 启动全部服务。全程交互式提示,用户按回车即可。
项目通过 Docker Compose profiles(配置文件)管理服务激活,用户在安装时通过向导选择需要开启哪些模块,核心工具包括:
| 类别 | 工具 | 用途 |
|---|---|---|
| 工作流自动化 | n8n | 低代码工作流引擎,400+ 集成,队列模式支持 |
| AI Agent 构建 | Flowise、Dify | 可视化 AI Agent 和 RAG 流水线构建 |
| 本地大模型 | Ollama | 本地运行 Llama 3、Mistral、Gemma 等模型 |
| AI 对话界面 | Open WebUI | 类 ChatGPT 的私有 Web 界面 |
| RAG / 向量库 | Qdrant、Weaviate、LightRAG、RAGFlow | 检索增强生成所需的向量数据库 |
| 后端基础设施 | Supabase、PostgreSQL、Valkey(Redis 兼容) | 数据库、缓存、认证 |
| 反向代理 | Caddy | 自动 HTTPS(Let's Encrypt)+ 路由分发 |
| 监控 | Grafana、Prometheus | 基础设施可视化监控 |
| AI 推理 UI | ComfyUI、InvokeAI | Stable Diffusion 图像生成 |
| 文档处理 | Docling、PaddleOCR | PDF/Word 转 Markdown、OCR 识别 |
| 其他工具 | Portainer(容器管理)、SearXNG(隐私搜索)、Letta(Agent 服务器)等 | 辅助类工具 |
所有服务均通过 Caddy 反向代理统一对外暴露,端口不直接暴露到公网,天然获得 HTTPS 加密。Ollama 支持配置 Bearer Token 保护,防止 API 被滥用。
项目采用 Docker Compose profiles 机制实现服务的按需加载。在 .env 文件中通过 COMPOSE_PROFILES 变量指定要启用的服务,比如 COMPOSE_PROFILES=n8n,ollama,flowise,monitoring。这种方式的优点是:所有服务的完整配置(docker-compose.yml)始终存在,按需激活即可,无需为不同组合维护多份配置文件。
n8n 默认以 queue 模式运行,这是本项目区别于普通 n8n 部署的关键。高并发场景下,n8n 会将任务分发到 Redis 队列,由独立的 Worker 容器并行处理。具体架构:
n8n 主服务 ←→ Valkey(任务队列)←→ n8n Worker × N
↓
PostgreSQL(数据持久化)
安装时用户可指定 Worker 数量,这意味着系统可以横向扩展以应对高负载工作流。
项目为 n8n 构建了自定义 Dockerfile(n8n/Dockerfile.n8n),通过 Docker build 阶段拉取自定义 n8n 社区节点包(如 LangChain 相关节点),而非依赖官方镜像。这种镜像定制策略在保证基础镜像稳定性的同时,兼顾了功能扩展需求。
Caddyfile 配置了每个服务的反向代理规则,并通过 Let's Encrypt 自动申请 TLS 证书。用户只需提供域名,Caddy 自动处理证书续期。项目还支持通过 make setup-tls 切换为自有证书。
用户浏览器 → Caddy (443) → 各服务 (内部 Docker 网络)
↓
┌─────────────────────┼─────────────────────┐
↓ ↓ ↓
n8n + Workers Ollama API Flowise / Dify
↓ ↓ ↓
PostgreSQL 本地模型文件 Qdrant / Weaviate
Valkey (Redis) ↓ ↓
↓ Open WebUI LangChain 节点
n8n-import (对话界面)
ollama-gpu profile),InvokeAI 支持 NVIDIA/AMD 双平台由于项目依赖 Caddy 自动 HTTPS,必须满足:
*.yourdomain.com → VPS 公网 IPmake logs # 查看所有服务日志
make logs s=n8n # 查看 n8n 专用日志
make status # 容器运行状态
make monitor # 实时 CPU/内存监控
make update # 更新系统和服务
make doctor # 诊断检查
尽管 Selfhost AI 大幅降低了部署门槛,但仍有一些值得注意的问题:
1. 域名强依赖 — 如果你没有域名,只能访问 IP:端口,Caddy 的 HTTPS 自动配置无法工作,这限制了小范围测试场景。
2. Ubuntu 24.04 独占 — 安装脚本针对 Ubuntu 24.04 编写,在 Debian、CentOS 等系统上可能需要手动调整。
3. 资源占用巨大 — 全量部署 30+ 容器,即使什么都不跑也可能占用 10GB+ 内存。Ollama 加载大模型(如 70B 参数)还需要额外 GPU 显存。
4. n8n 队列模式运维复杂度 — 多 Worker 架构虽然提升了吞吐,但当 Worker 崩溃时,任务可能卡在队列中,需要手动清理。对非 DevOps 用户有一定运维挑战。
5. 安全边界 — .env 文件包含大量密钥(N8N_ENCRYPTION_KEY、数据库密码等),一旦泄露等同于所有服务沦陷。项目虽有安全选项配置,但容器内部攻击面仍需用户自行把控。
Selfhost AI 的崛起折射出一个重要趋势:随着 LLM API 成本下降和本地模型性能提升,自托管 AI 正从极客圈走向更广泛的技术人群。
类似的项目(如 Open WebUI、Ollama 官方 Docker 部署)更多聚焦于单点工具,而 Selfhost AI 的差异化在于工具链整合——它不只是帮你跑起 Ollama,而是帮你把 Ollama + n8n + RAG + 监控 + 文档处理全部串联起来,形成一套完整的私有 AI 工作站。
从增长曲线看,896 Stars 在 self-hosted AI 工具中属于中上水平,但距离真正的头部项目仍有差距。其增长主要依赖 YouTube 教程和社区口碑。
总结:Selfhost AI 是一个定位精准的瑞士军刀式安装器,核心价值在于消除 30+ AI 工具的部署碎片化。适合有一定 Linux 基础、愿意投入 VPS 资源、追求数据完全私有的开发者或小团队。如果你想快速拥有一个私有 ChatGPT + 自动化工作流 + RAG 知识库的一体化平台,它是目前 GitHub 上集成度最高的开源方案之一。