OpenShip
一句话简介
基于 TypeScript 的开源电商订单与履约管理平台,支持多渠道店铺接入、物流跟踪和发货流程自动化。
标签
适用应用场景
- 多渠道店铺订单统一管理
- 物流跟踪与发货自动化
- 电商履约流程定制化
- 多店铺运营数据整合
README 中文摘要
Openship 概览
Openship 是一款开源、可自托管的部署平台,内置 CI/CD。用户只需将仓库(或本地目录、预构建产物)指向它,即可完成构建、发布、路由和 TLS 终止等全流程操作。控制台可通过桌面应用、Web 仪表盘或 CLI 三种方式驱动,并配套 MCP 端点(面向 AI 代理)与 REST API 供自动化使用。
运行模式选择
在安装前需确定控制平面的运行方式:
- 单机独立用户:推荐使用桌面应用。控制平面只在应用开启时运行于本机,不暴露公网端点,不留后台进程。
- 团队协作或需要 push-to-deploy、托管应用:自托管服务器,运行
openship up,可托管于本机(Compose 模式)或外接其他服务器 / Openship Cloud(bare 模式)。 - 完全免运维:直接使用 Openship Cloud。
桌面应用
支持 macOS(Apple Silicon / Intel)、Windows 与 Linux(AppImage)。Linux 启动方式:
chmod +x Openship.AppImage && ./Openship.AppImage
桌面应用通过 SSH 连接远程服务器或 Openship Cloud 进行部署,本机不托管对外应用。
自托管服务器
安装 CLI 并执行 openship 启动交互式向导:
curl -fsSL https://get.openship.io | sh # 安装
openship # 向导式初始化
CI 或无界面环境下可直接执行 openship up,将服务安装为开机自启的后台进程:
openship up # 安装并启动后台服务
openship up --public-url https://openship.example.com # 自定义域名,自动处理边缘与 TLS
openship up 自动判断运行方式:
- Linux + Docker:默认进入 Compose 模式,从镜像启动 Postgres、Redis、API、仪表盘以及
:80/:443上的容器化 OpenResty 边缘节点,可在同机托管应用并自动签发 Let's Encrypt 证书。使用--compose强制启用。 - macOS、Windows或无 Docker 的 Linux:进入 bare 模式,单进程 + 内嵌数据库,作为常驻控制平面将应用部署至外部服务器或 Cloud。使用
--bare强制启用。
其他常用命令:openship open(打开仪表盘)、openship stop、openship update、openship up --foreground(前台运行)。
项目部署
cd your-project
openship init # 关联目录与项目
openship deploy
原始 Docker Compose 自托管
不通过 CLI 时可直接拉取发布镜像:
git clone https://github.com/oblien/openship.git && cd openship
cp .env.example .env # 编辑后
docker compose --env-file .env -f docker/docker-compose.yml up -d
栈组成:postgres + redis + api + dashboard + edge。edge 是 OpenResty 边缘(network_mode: host,仅限 Linux),承担路由与证书签发。api 容器挂载宿主机 Docker socket,具备宿主机权限,仅应在受信主机上运行。宿主机操作(如 :80/:443 接管、邮件引擎)需要在 .env 中手动配置容器到宿主机的 SSH 通道。
工作流程
一次完整部署包含五个阶段:
- 检测:读取
package.json、框架配置、锁文件以及docker-compose.yml/openship.json,自动推断技术栈、包管理器、构建/启动命令与端口。 - 构建:在目标服务器或本地编排器构建为 Docker 镜像或裸机发布物;配置以快照形式冻结,重部署与回滚完全可复现。
- 运行:以容器形式(仅 loopback 暴露,不对外开放端口)或受监管的宿主机进程启动。
- 路由与安全:OpenResty 边缘生成反向代理 vhost 并通过 HTTP-01 签发 Let's Encrypt 证书;因路由与 TLS 在应用启动后处理,DNS 或证书异常只会标记为“待处理”,不会使部署失败或中断应用。
- Push-to-deploy:GitHub webhook 在分支每次推送时重新执行流水线,monorepo 仅重建受影响的子项。
数据库、域名、SSL、CDN、邮件与备份在同一控制台中统一管理。
接口与自动化
- 桌面应用:全功能 GUI,实时日志,适合个人用户。
- Web 仪表盘:浏览器版相同界面,面向团队。
- CLI:可脚本化,适合 CI 环境。
- MCP 端点:供 AI 代理调用,仅显式启用的路由会暴露为工具,每次调用重新校验权限,凭据相关路由不会被暴露为工具。
- REST API:用于通用自动化。
主要特性
- 内置 CI/CD:push-to-deploy、预览环境、staging/prod 流程、回滚。
- 多栈支持:Node、Python、Go、Rust、PHP、Ruby、Java、.NET、Docker、monorepo。
- 后端组件:Postgres、MySQL、MongoDB、Redis、worker、WebSocket、存储。
- 域名与 SSL:自动 Let's Encrypt、通配符、无限域名、自动续签。
- CDN:边缘缓存、HTTP/3、Brotli 压缩、即时刷新。
- 内置邮件服务器:SMTP + DKIM/SPF/DMARC,无需第三方服务。
- 备份:定时备份数据库与卷,一键恢复,随时导出。
- 实时监控:构建日志、容器指标、访客地理分布、状态码分布。
- 弹性伸缩:Cloud 自动伸缩,自托管支持多节点。
- 可移植性:标准 Docker 容器,可在各服务商间自由迁移。
- Docker Compose:可直接部署已有 compose 文件。
部署目标
- Openship Cloud:托管、零配置。
- 任意 VPS:Hetzner、DigitalOcean、Linode、OVH 等。
- 独立服务器:裸金属、托管机柜、家庭实验室。
- 多服务器:在多台机器间分布工作负载。
安全与许可
漏洞应通过 GitHub Security Advisories 私下提交,不要在公开 issue、PR 或讨论中披露。项目遵循 Apache License 2.0,允许在商业与闭源产品中使用、修改、自托管与分发。
摘要更新于 2026-08-19 00:36:03
· 原文 14867 字符
· md5 88f626e47258…