Openship

Openship

Desktop app, dashboard or CLI to ship your apps

Openship is a self-hosted deployment platform written in TypeScript. Point it at a GitHub repo, a local folder or a prebuilt artifact, and it builds the app, runs it as a container or a supervised process, then serves it on a domain with a Let's Encrypt certificate. You drive it from a desktop app, a web dashboard or a CLI.

Openship ships applications. Managing websites the way cPanel does is a hosting panel's job, which is where OpenPanel fits.

The self-hosted PaaS comparison sets out what each tool installs on the server and what it needs to run.

Zero config, inferred from package.json, and exact rollbacks

  • No config file to write: Openship reads package.json, the framework config and the lockfiles to work out the build and start commands and the port. An openship.json committed with the code overrides those guesses.
  • Rollbacks replay what shipped: each deploy freezes its resolved config into a snapshot, so a rollback re-runs the exact release.
  • A bad certificate doesn't take the app down: routing and TLS happen after the app starts, and a DNS problem shows up as "action required" instead of failing the deploy.
  • Push-to-deploy that understands monorepos: the GitHub webhook rebuilds only the services a push touched.
  • The services around the app: Postgres, MySQL, MongoDB, Redis, scheduled backups of databases and volumes, and a mail server with DKIM, SPF and DMARC.
  • Several servers since v0.8.0: Openship installs k3s on servers it joins over SSH and spreads an application across 1 to 100 replicas.

Still 0.x, with a GPL v3 mail engine bundled

Full server mode needs Linux, Docker and ports 80 and 443. On Linux with Docker, openship up starts Postgres, Redis, the API, the dashboard and an OpenResty edge. The API mounts the host's Docker socket, which the installation docs describe as equivalent to root on the host, and the README says to run it only on a trusted machine. Anywhere else, Openship falls back to "bare" mode: a single process with an embedded database that deploys to other servers over SSH. The installation page sets no minimum for RAM or CPU.

The desktop app is meant for solo use. Its control plane needs no account and runs only while the app is open. Without a public address it can't receive webhooks, so push-to-deploy and team access require an always-on server instance, where login is mandatory.

Openship compares itself to Coolify, Dokploy and Dokku. Its homepage claims two differences from Coolify and the others: with the desktop app there is no control plane to keep running, and Openship can take over a server already in use by adopting its running containers without rebuilding them.

Apache-2.0 for Openship's code, GPL v3 for the mail engine. The iRedMail engine, licensed GPL v3, is copied into the API Docker image, the CLI package and the desktop app, even if you never set up mail. The provenance of the Zero Email webmail is still under review (issue #610).

Self-hosting is free; Openship Cloud is paid. The README says a self-hosted instance has no billing. Since v0.8.1, Openship Cloud rents managed servers by the month, from $5 (1 vCPU, 4 GiB RAM) to $99 (8 vCPU, 32 GiB).

Version 0.x, one main developer. The repository dates from March 2026. Twenty-three releases came out between July 13 and October 6, and one developer wrote 1,251 of the 1,684 commits on the main branch. The README describes a "production-ready core" but still lists multi-node clusters as coming next, although v0.8.0 shipped them on September 27. Desktop users still on 0.8.0 or 0.8.1 are asked to install v0.8.2 by hand, because the built-in updater in those versions can fail.