oblien / openship

Self-hostable deployment platform · Apache 2.0

Point it at a repo.
Watch all five panels.

Openship detects the stack, builds it, runs it, routes it and terminates TLS — one pipeline, end to end. Zero config files required. Drive it from a desktop app, a web dashboard, or the CLI.

The pipeline, panel by panel

four steps ship the app — the fifth cannot take it down
01Detect

Reads the repo

Framework config, lockfiles, compose files — it works out the stack, package manager, commands and port.

02Build

Freezes a snapshot

The resolved config is frozen, so redeploys and rollbacks re-run exactly what shipped.

03Run

Loopback, not public

A container published on loopback only — never a public port, or a supervised host process.

04Route

Edge writes the vhost

A reverse proxy to your domain, plus a Let’s Encrypt certificate — issued after the app is up.

05Push

Webhook re-runs it

Every push to the tracked branch rebuilds only the services a monorepo push actually touched.

Panel 4 exception

Because routing and TLS happen after the app is up, a DNS or certificate hiccup surfaces as “action required” — the project states it never fails the deploy or takes your app down. That ordering is the whole design decision; it is why this panel has its own note.

Desktop appcontrol plane runs only while open
Web dashboardsame UI, built for teams
CLIscriptable, CI-friendly
Ship SDKJavaScript / TypeScript

There is also an MCP endpoint for AI agents, and the project is specific about its limits: only routes that opt in are exposed as tools, every call re-checks your permissions, and credential and token routes can never become tools.