Openship

Open-source, self-hostable deployment platform with built-in CI/CD.
Push code, ship containers, manage infrastructure — from a desktop app, web dashboard, or CLI.

npm version License Website

Quick Start · Features · Interfaces · Docs · Contributing

English العربية 简体中文 Español Français 日本語 Português Deutsch

Openship dashboard

--- ## Quick Start ```bash npm i -g openship # or: curl -fsSL https://get.openship.io | sh openship up # installs Openship as a background service (starts on boot, auto-restarts) ``` `openship open` opens the dashboard; `openship stop` stops the service. Want a one-off attached run instead? `openship up --foreground`. To deploy a project: ```bash cd your-project openship init # link this directory to a project openship deploy ``` Prefer Docker? Clone the repo and use the compose stack: ```bash git clone https://github.com/oblien/openship.git && cd openship cp .env.example .env docker compose up -d ``` Or grab the desktop app (`openship install`, or download from [openship.io](https://openship.io)). --- ## What It Does Point it at a repo. Openship detects your stack, builds it, configures everything, and ships it — zero config files, zero pipelines, zero YAML. Databases, domains, SSL, CDN, mail, backups — all managed from one place. Works with **Openship Cloud** (managed) or **any Linux server** you own. Solo devs shipping side projects and teams running production use the same tool. --- ## Features | | | |---|---| | **Built-in CI/CD** | Push-to-deploy, preview environments, staging/prod flows, rollbacks | | **Any stack** | Node, Python, Go, Rust, PHP, Ruby, Java, .NET, Docker, monorepos | | **Full backend** | Postgres, MySQL, MongoDB, Redis, workers, WebSockets, storage | | **Domains & SSL** | Automatic Let's Encrypt, wildcards, unlimited domains, auto-renewal | | **CDN** | Edge caching, HTTP/3, Brotli compression, instant purge | | **Mail server** | Built-in SMTP with DKIM/SPF/DMARC — no Mailgun or SES needed | | **Backups** | Scheduled, databases + volumes, one-click restore, export anytime | | **Real-time monitoring** | Live build logs, container metrics, and resource usage streamed to your screen | | **Scaling** | Auto-scaling on cloud, multi-node ready on self-hosted | | **Portability** | Standard Docker containers — move between providers freely | | **Docker Compose** | Deploy existing compose files as-is | --- ## Deploy Anywhere - **Openship Cloud** — managed, auto-scaling, zero setup - **Any VPS** — Hetzner, DigitalOcean, Linode, OVH, and the rest - **Dedicated servers** — bare metal, colo, homelab - **Multi-server** — spread workloads across machines Same interface regardless of where you deploy. --- ## Three Interfaces - **Desktop app** — full GUI, real-time logs, one-click everything. - **Web dashboard** — the same UI in the browser, built for teams. - **CLI** — scriptable and CI-friendly. A **REST API** and **MCP** (AI agent protocol) round it out for automation and tooling integration. Full command and API reference at [openship.io/docs](https://openship.io/docs). > [!NOTE] > The docs are still a work in progress — we're actively filling them out. If something's missing or unclear, [contributions](CONTRIBUTING.md) are hugely welcome and help us get there faster. --- ## Status Production-ready core, actively developed. **Coming next:** multi-node clusters, load-balancing UI, private networking, advanced monitoring, and visual CI/CD pipelines. --- ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md). --- ## Releasing Cut a release with the version script — it syncs every package's version, commits the bump, tags `vX.Y.Z`, and pushes: ```bash bun scripts/release.ts 0.2.0 # explicit version # or a bump keyword: patch | minor | major | rc (minor from 0.1.x → 0.2.0) ``` Pushing the tag triggers [`.github/workflows/release.yml`](.github/workflows/release.yml), which: - builds the **macOS / Windows / Linux installers** and the server tarballs (with SHA-256 sidecars), - **publishes the `openship` CLI to npm** — via npm [OIDC trusted publishing](https://docs.npmjs.com/trusted-publishers) (no token), and - creates the **GitHub Release** with the built assets (notes come from the tag). To flag a release as **critical** (or add recommended/info advisories) in the in-app updater, add an entry to [`release-advisories.json`](release-advisories.json) **before** tagging — clients pull it pinned to the release tag. High-level notes live in [`CHANGELOG.md`](CHANGELOG.md). --- ## Security Found a vulnerability? We welcome your report — please disclose it **privately**, never in a public issue, PR, or discussion. - **Report it here (preferred):** [Report a vulnerability](https://github.com/oblien/openship/security/advisories/new) — a private GitHub advisory, visible only to you and the maintainers. - Scope, what to include, and our response/disclosure process: [SECURITY.md](SECURITY.md). Good-faith security research is **authorized** under our [safe-harbor policy](SECURITY.md#safe-harbor), and we're happy to credit valid first reports. --- ## License Openship is **open-source** software, licensed under the [Apache License 2.0](LICENSE). You may use, run, modify, self-host, and distribute it — including in commercial and closed-source products — under the terms of the Apache 2.0 license. See [LICENSE](LICENSE) for the full text.