OpenShip

oblien/openship 访问 GitHub ↗
🔤 TypeScript ★ 11026 ⑂ 0 monthly #18 (+10646) 抓取 2026-08-19

一句话简介

基于 TypeScript 的开源电商订单与履约管理平台,支持多渠道店铺接入、物流跟踪和发货流程自动化。

标签

  • 电商
  • 订单管理
  • 履约自动化
  • 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 stopopenship updateopenship 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 通道。

工作流程

一次完整部署包含五个阶段:

  1. 检测:读取 package.json、框架配置、锁文件以及 docker-compose.yml / openship.json,自动推断技术栈、包管理器、构建/启动命令与端口。
  2. 构建:在目标服务器或本地编排器构建为 Docker 镜像或裸机发布物;配置以快照形式冻结,重部署与回滚完全可复现。
  3. 运行:以容器形式(仅 loopback 暴露,不对外开放端口)或受监管的宿主机进程启动。
  4. 路由与安全:OpenResty 边缘生成反向代理 vhost 并通过 HTTP-01 签发 Let's Encrypt 证书;因路由与 TLS 在应用启动后处理,DNS 或证书异常只会标记为“待处理”,不会使部署失败或中断应用。
  5. 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…