Openship:指向一个仓库,它就能完成构建、发布、路由和 TLS 加密
你是否曾经为了把一个项目真正部署上线,被迫在 CI/CD 配置、Nginx 反向代理、Let s Encrypt 证书续期、数据库备份、邮件服务器之间反复横跳?Openship 的出现,旨在彻底解决这个问题。它是一个用 TypeScript 编写的开源、可自托管部署平台,内置 CI/CD:你只需要把它指向一个源码——GitHub 仓库、本地目录或预构建产物——它就会端到端跑完一条流水线,把应用构建、发布、路由并完成 TLS 终止。你可以用桌面应用、Web 面板或 CLI 三种方式驱动同一个后端。
截至收录:
Openship stars数:12321
Openship forks数:1116
Openship项目目录截图

Openship项目核心亮点
- 🚀 推送即部署的内置 CI/CD:接入 GitHub webhook 后,每次向被跟踪的分支推送都会重新触发流水线,并且只会重建 monorepo 中真正被改动到的服务。同时支持预览环境、staging / prod 多套流程和一键回滚。
- 🧠 零配置的技术栈识别:它会读取你的
package.json、框架配置、lockfile,以及docker-compose.yml/openship.json,自动推断技术栈、包管理器、构建与启动命令和端口。不需要写任何配置文件;如果你想要更多控制权,一份openship.json就能覆盖所有猜测。 - 🔐 自动域名与 HTTPS:OpenResty 边缘节点会自动为你的域名写入反向代理 vhost,并通过 HTTP-01 挑战签发 Let s Encrypt 证书,支持泛域名、无限域名和自动续期。由于路由和 TLS 是在应用启动之后才进行的,DNS 或证书的临时问题只会显示为「需要处理」,绝不会让部署失败或把你的应用打挂。
- 🧰 后端全家桶开箱即用:Postgres、MySQL、MongoDB、Redis、后台 worker、WebSocket、对象存储一应俱全;还内置了带 DKIM/SPF/DMARC 的 SMTP 邮件服务器,不必再接入 Mailgun 或 SES;备份支持定时快照数据库与数据卷、一键恢复,并可随时导出。
- 🖥️ 一个后端,三种界面:桌面应用提供完整 GUI 和实时日志,最适合单机开发者;Web 面板是同一套 UI 的浏览器版本,为团队协作而生;CLI 则可脚本化、对 CI 友好。此外还提供 MCP 端点(面向 AI Agent)和 REST API,用于自动化集成——只有显式开启的路由才会暴露成 MCP 工具,每次调用都会重新校验权限,凭证与 Token 类路由永远不会变成工具。
- 📊 极轻量的实时监控:实时构建日志、容器指标、访客地理分布和各状态码响应占比一屏可见,开销约为每请求 1.4 微秒,且每个请求零数据库写入。
Openship 快速开始
在动手之前,只有一件事需要先决定:你打算怎么运行 Openship 本身(也就是控制平面)。之后的一切流程都是一样的。
| 如果你是…… | 把 Openship 运行在 | 你的应用运行在 |
|---|---|---|
| 单机开发者,不想折腾运维 | 桌面应用 | 通过 SSH 连接的服务器,或 Openship Cloud |
| 一个团队,或者需要推送即部署 / 想在自己的机器上托管应用 | 自托管服务器(openship up) |
就在这台机器上(Compose 模式),或外发到另一台服务器 / Cloud(bare 模式) |
| 完全不想运行任何东西 | Openship Cloud | 托管沙箱,零配置 |
路径一:桌面应用(最省心)
控制平面只在应用打开时运行在本机,没有登录,没有终端,没有任何公网暴露面——下载、打开,完事:
| 平台 | 下载 |
|---|---|
| macOS(Apple Silicon) | Openship-arm64.dmg |
| macOS(Intel) | Openship-x64.dmg |
| Windows | Openship-win32-x64.zip |
| Linux | Openship.AppImage |
Linux 用户记得先给执行权限:chmod +x Openship.AppImage && ./Openship.AppImage。如果你已经装了 CLI,openship install 会帮你拉取并启动它。
路径二:自托管服务器(团队 / 常驻)
先安装 CLI(它打包了 API 和面板),然后直接运行 openship,一个交互式向导会帮你创建第一个管理员、接好域名,并把 Openship 装成开机自启服务:
# 安装(自带 Node,如果系统 Node 低于 22)
$ curl -fsSL https://get.openship.io | sh
# 或者用 npm(需要 Node 22+)
$ npm i -g openship
# 交互式向导安装,之后打开控制面板
$ openship
对于 CI / 无头机器,可以跳过向导,直接用 openship up:
# 安装并作为后台服务启动(开机自启 + 自动重启)
$ openship up
# 额外把面板挂到你的域名上(边缘 + TLS 自动处理)
$ openship up --public-url https://openship.example.com
openship up 会自己选择运行方式:在装有 Docker 的 Linux 上走 Compose 模式(默认),从官方镜像拉起整套栈——Postgres、Redis、API、面板,以及监听 :80/:443 的容器化 OpenResty 边缘,这也是能把应用托管在同一台机器上、自动分配域名和 Let s Encrypt 证书的模式;在其他环境则走 bare 模式,用单个轻量进程和嵌入式数据库常驻运行。常用命令还有:openship open 打开面板、openship stop 停止、openship update 升级、openship up --foreground 前台运行。
路径三:部署你的第一个项目
$ cd your-project
$ openship init # 把这个目录关联到一个项目
$ openship deploy # 构建、发布、路由、签发证书
如果你只想尝鲜尚未发布的开发版,官方也提供了从源码构建的独立命令 openship-dev(拥有自己的 ~/.openship-dev 目录和启动服务,完全不会碰到你的生产实例和数据):
$ curl -fsSL https://get.openship.io/dev | sh # 默认 main 分支
$ curl -fsSL https://get.openship.io/dev | OPENSHIP_REF=dev sh # 指定分支或标签
$ openship-dev update # 拉取最新源码并重建
Openship 应用场景
场景一:独立开发者与个人项目:只需要下载桌面应用,连上自己的服务器(SSH)或 Openship Cloud,就能把 side project 部署上线。控制平面只在你打开应用时运行在本机,不会有任何常驻的公网服务,也不会留下需要维护的服务器。
场景二:小团队的推送即部署:一旦你需要 CI/CD、团队访问权限,或者想把应用跑在自己的机器上,装一台自托管实例就够了。GitHub webhook 会在每次推送时重跑流水线,monorepo 只重建受影响的子服务,配合预览环境、staging/prod 流程与回滚,基本可以替代商业 PaaS 的部署体验。
场景三:全栈应用的一站式托管:数据库、域名、SSL、CDN(边缘缓存、HTTP/3、Brotli 压缩、即时清除)、邮件服务器、备份——全部在同一个地方管理。Node、Python、Go、Rust、PHP、Ruby、Java、.NET、Docker、monorepo 都在支持范围内,现有的 docker-compose.yml 也可以原样部署。
场景四:从云到裸金属的自由迁移:Openship 产出的是标准 Docker 容器,因此你可以随时在提供商之间搬家。它既能部署到 Openship Cloud(托管、自动伸缩、零配置),也能部署到 Hetzner、DigitalOcean、Linode、OVH 等任意 VPS,还能用于裸金属、托管机房和 homelab,甚至把负载分散到多台机器上——不管你部署到哪里,界面都是同一套。
值得一提的是,Openship 的核心已经达到生产可用状态,并且仍在积极开发中。自托管完全免费、不涉及计费。官方路线图上还有多节点集群、负载均衡 UI、私有网络、进阶监控和可视化 CI/CD 流水线等待实现。
Openship 项目链接
oblien / openship项目地址:https://github.com/oblien/openship
本文地址:https://www.tgoos.com/46518
