Openship 实测:部署工具不该抢应用的内存
在 4GB 内存的 VPS 上跑 Next.js 构建,最怕的就是构建进程瞬间吃光所有资源,直接把正在运行的生产环境容器给顶崩了。很多自托管 PaaS(比如 Coolify 或 Dokku)的通病就是控制面板、数据库、构建系统和应用全挤在一台机器上,部署工具反而成了系统的稳定性风险。
虽然目前还处于早期阶段,但这种“控制面与执行面分离”的实操方案比单纯做一个 Docker Compose UI 要硬核得多。
下一篇
终端共享工具实现原理:如何把 Shell 搬进浏览器 →
Openship 的逻辑比较反直觉:它把控制平面(Control Plane)剥离了出来。默认情况下,控制面板和构建流水线跑在你本地机器上,通过 SSH 驱动远程服务器。这意味着服务器上只跑最终的容器镜像,不跑构建进程。
这种架构在低配 VPS 上简直是救命稻草,而且因为控制面不在公网,天然减少了攻击面。当然,代价就是如果你用桌面版,电脑关机就没法管理,且不支持 Webhook 自动触发部署(除非你把控制面单独部署在另一台服务器上)。
关于功能,除了基础的 CI/CD 和多语言支持,最让我意外的是它内置了 SMTP 邮件服务器,居然把 DKIM、SPF 这些恶心人的配置给集成进去了,不用非得去接 SES 或 Mailgun。
快速部署指南
根据场景不同,Openship 提供了三种运行方式:
一、桌面端部署(最省资源,仅限个人)
直接下载安装包运行,在配置界面填入服务器 SSH 信息即可。
二、自托管部署(团队协作/自动化)
使用 Docker 部署控制面板,需配置环境变量指定模式:
docker run -d \
-e OPENSHIP_TARGET=selfhosted \
-p 3000:3000 \
openship/openship三、纯 CLI 模式
适合习惯终端操作的开发者,通过命令行完成镜像推送和远程调度。
核心能力清单
- 资源隔离: 本地构建 → SSH 传输 → 远程运行,VPS 不再被构建进程拖垮。
- 全栈支持: 覆盖 Node, Python, Go, Rust 等主流语言及 Monorepo。
- 网络自动化: 基于 OpenResty 和 certbot 实现 Let's Encrypt 证书自动续签。
- AI 增强: 支持 MCP 协议,这意味着可以用 AI Agent 直接驱动部署流。
虽然目前还处于早期阶段,但这种“控制面与执行面分离”的实操方案比单纯做一个 Docker Compose UI 要硬核得多。