Openship: 可用来替代 Vercel / Netlify 的开源自托管部署平台
Openship 是一个开源、可自托管的部署平台,内置 CI/CD 流水线。它由 Oblien LLC 开发,GitHub 上已有 5,100+ Star(仓库:oblien/openship),采用 Apache 2.0 许可证,可商用可修改。
它的定位很清晰:Vercel / Netlify 的开源自托管替代品。你可以在自己的服务器上跑一套完整的部署平台,也可以用他们的托管云(即将上线),甚至可以混合使用。
安装方式极其简单:
npm i -g openship
openship up之后浏览器打开仪表盘,关联 Git 仓库,推送代码即可自动部署。
核心特性
1. 内置 CI/CD
- Push-to-deploy — 每次 Git 推送自动构建、测试、部署
- Preview deployments — 每个 PR 自动生成独立预览 URL,合并后自动销毁
- 即时回滚 — 每次部署都是不可变快照,一键回滚到任意历史版本,零停机
2. 支持任意技术栈
自动检测框架类型和构建命令,无需手写 Dockerfile 或配置文件:
- Node.js、Python、Go、Rust、PHP、Ruby、Java、.NET、Elixir
- Bun、Next.js、Rails、Django、Laravel 等框架
- Docker 容器、Docker Compose、Monorepo
3. 内置全套后端服务
不需要额外购买或配置第三方服务:
- 数据库:PostgreSQL(14-17)、MySQL、MongoDB、Redis
- 对象存储:S3 兼容
- 邮件服务器:内置 SMTP,自动配置 SPF/DKIM/DMARC,无需 Mailgun 或 SendGrid
- CDN:边缘缓存、HTTP/3、Brotli 压缩
4. 域名和 SSL
- 无限自定义域名(apex + 子域名 + 泛域名)
- 自动 Let's Encrypt 证书,自动续期
- DNS 管理可视化
5. 三种操作界面
- 桌面应用(Mac / Windows)— 完整 GUI,实时日志
- Web 仪表盘 — 浏览器访问,适合团队协作
- CLI — 适合脚本和 CI 集成
此外还有 REST API 和 MCP(AI Agent 协议)接口,可被 Cursor、Claude 等 AI 工具调用。
架构设计:构建与运行分离
Openship 最独特的设计理念是构建与运行分离:
你的开发机器 / CI Runner 生产服务器
┌────────────────────┐ ┌──────────────────┐
│ Git Push │ │ 仅运行应用容器 │
│ → 自动检测技术栈 │ SSH │ → 无 agent │
│ → 构建 Docker 镜像 │ ──────── │ → 无仪表盘 │
│ → 运行测试 │ 推送 │ → 无数据库面板 │
│ → 打版本标签 │ │ → 纯生产环境 │
└────────────────────┘ └──────────────────┘与传统自托管方案(如 Coolify、Dokku)的关键区别:
| 特性 | Openship | Coolify / Dokku |
|---|---|---|
| 构建位置 | 本地机器 | 生产服务器 |
| 服务器负载 | 只跑应用 | 构建 + 应用 |
| 服务器是否需要 agent | 否 | 是(面板 + agent) |
| 安全性 | 服务器无构建工具链 | 服务器上运行完整构建环境 |
这意味着你的生产服务器上没有任何 agent、守护进程、管理面板,只有一个纯净的应用运行环境,攻击面大幅减少。
能部署什么?
几乎任何可以容器化的应用:
| 类别 | 示例 |
|---|---|
| Web 应用 | Next.js、Nuxt、Remix、Astro |
| API 服务 | Express、FastAPI、Gin、Rails |
| 后端服务 | Node 服务、Python 脚本、Go 二进制 |
| 数据库 | Postgres、MySQL、MongoDB、Redis(内置托管) |
| 静态站点 | Hugo、Jekyll、Vite 构建 |
| Docker 应用 | 任意 Dockerfile 或 Docker Compose |
| 定时任务 | Cron 作业,带重试和日志 |
支持单服务器部署和多服务器负载分发。
部署到哪里?
Openship 提供三种部署模式:
1. 自托管(免费,永久)
在任何 Linux 服务器上运行完整平台,无限部署、无限域名、无限项目。免费,无计量、无上限、无遥测。
适用场景:用自己的 VPS(Hetzner、DigitalOcean、AWS)、裸金属服务器、甚至树莓派。
2. Openship Cloud(即将上线)
托管云,支持多区域、自动扩缩容、每日备份。定价尚未公布。
适用场景:不想管理服务器,想要开箱即用的托管服务。
3. 混合模式
应用跑在自己的服务器上,托管服务(数据库、邮件等)用云。或者生产环境自托管,预览环境用云。无需重建,一键迁移。
上手教程
方式一:npm 安装(推荐)
# 安装 CLI
npm i -g openship
# 启动服务(后台运行,开机自启)
openship up
# 打开仪表盘
openship open
# 进入项目目录,部署
cd my-project
openship init
openship deploy方式二:Docker Compose
git clone https://github.com/oblien/openship.git
cd openship
cp .env.example .env
docker compose up -d方式三:桌面应用
在 openship.io 下载 Mac 或 Windows 桌面客户端,或者通过 CLI 安装:
openship install与竞品对比
vs Vercel / Netlify / Coolify / Dokku
| 特性 | Openship | Vercel / Netlify | Coolify | Dokku |
|---|---|---|---|---|
| 开源 | ✅ Apache 2.0 | ❌ 闭源 | ✅ AGPLv3 | ✅ MIT |
| 自托管 | ✅ | ❌ | ✅ | ✅ |
| 构建位置 | 本地(安全) | 托管构建机 | 生产服务器 | 生产服务器 |
| 内置数据库 | ✅ Postgres/Redis/Mongo/MySQL | ❌ | ✅ 部分 | ❌ |
| 邮件服务器 | ✅ 内置 SMTP | ❌ | ❌ | ❌ |
| 桌面应用 | ✅ Mac + Windows | ❌ | ❌ | ❌ |
| MCP/AI 集成 | ✅ | ❌ | ❌ | ❌ |
| 免 Dockerfile | ✅ 自动检测 | ✅ | ✅ 部分 | ❌ |
| 供应商锁定 | 无(标准 Docker 容器) | 高(专有运行时) | 低 | 低 |
vs Umbrel
两者名字相似但定位完全不同。Openship 是一个开发部署平台,Umbrel 是一个家庭服务器操作系统。下面是详细对比:
| 对比维度 | Openship | Umbrel (umbrelOS) |
|---|---|---|
| 本质定位 | 开发者的部署平台(CI/CD) | 家庭服务器 OS(个人云) |
| 目标用户 | 开发者、团队 | 普通家庭用户、非技术用户 |
| 核心场景 | 部署自己的代码/应用 | 一键安装 300+ 现成应用 |
| 上手门槛 | 需要 Git 和 CLI 基础 | 无需技术知识,刷机即用 |
| 安装方式 | npm 包 / Docker Compose | 刷写完整 OS 镜像(RPi / x86) |
| 操作界面 | CLI + Web 仪表盘 + 桌面应用 | 纯 Web 浏览器(umbrel.local) |
| 部署模型 | Push-to-deploy 自动构建部署 | 应用商店一键安装 |
| 管理方式 | Git 驱动,适合自动化 | 点击操作,适合手动管理 |
| 自定义部署 | ✅ 部署自己的任意代码 | ❌ 只能安装商店里的应用 |
| 自建 CI/CD | ✅ 内置完整 CI/CD | ❌ 无 |
| 托管数据库 | ✅ Postgres/Redis/Mongo/MySQL | ❌ 需通过应用商店安装 |
| 邮件服务器 | ✅ 内置 SMTP | ❌ |
| 自定义域名 SSL | ✅ 无限域名,自动证书 | ❌ 主要局域网使用 |
| 应用商店 | ❌ 无(你自己就是开发者) | ✅ 300+ 应用,一键安装 |
| 文件存储管理 | ❌ 无(专注部署) | ✅ 内置文件管理器(类 macOS) |
| 多媒体服务 | ❌ | ✅ Plex / Jellyfin 媒体串流 |
| Bitcoin 节点 | ❌ | ✅ 原生支持,全节点一键运行 |
| AI 能力 | 无内置 AI | ✅ Ollama / OpenClaw 本地 AI |
| 家庭自动化 | ❌ | ✅ Home Assistant 集成 |
| 硬件绑定 | 无(任意 Linux 服务器) | 有官方硬件(Umbrel Home/Pro) |
| 许可证 | Apache 2.0(可商用) | PolyForm Noncommercial(仅个人/非营利) |
| 商业模式 | 托管云即将上线 | 售卖官方硬件 |
| GitHub Stars | 5,100+ | 10,700+ |
一句话总结:Openship 是让你部署自己的代码,Umbrel 是让你一键运行现成的应用。两者不冲突,甚至可以互补——如果你既写代码又想要家庭媒体服务器,可以在 Umbrel 上用 Openship 部署自己的小项目。但大多数情况下它们服务的是完全不同的用户群体。|
安全设计
- 默认拒绝入站:所有服务运行在隔离的私有网络中,不暴露端口
- TLS 加密:所有通信加密,备份加密,密钥加密存储
- 安全响应头:HSTS、CSP、COOP、COEP 等生产默认配置
- DDoS 防护:边缘层防护
- 速率限制:基于路由的限流
- 审计日志:所有操作可追溯、可导出
- 密钥管理:加密存储,环境隔离,轮换无需重新部署
- 合规准备:日志和配置满足 SOC 2、ISO 27001 要求
项目状态
- 生产就绪:核心功能稳定可用,正在积极开发中
- 即将推出:多节点集群、负载均衡 UI、私有网络、高级监控、可视化 CI/CD 流水线
- 定价:自托管永久免费;Openship Cloud 定价尚未公布
小结
Openship 填补了 Vercel/Netlify(方便但闭源、昂贵、锁定)和 Coolify/Dokku(自托管但需要在服务器上跑完整面板)之间的空白。它用一个安全优先的设计——构建与运行分离、服务器零 agent——提供了媲美托管平台的开发体验,同时保持了完全的开源和自托管自由。
如果你正在寻找一个可以部署在自己服务器上的 Vercel 替代品,且不想在服务器上安装复杂的管理面板,Openship 值得一试。
项目地址:https://github.com/oblien/openship
官网:https://openship.io
许可证:Apache 2.0