Architecture overview
How Openship is put together — the control plane, deploy targets, and where your data lives.
Openship runs either self-hosted or as Openship Cloud — the same codebase powers both, and a single environment flag (OPENSHIP_TARGET) decides which role an instance plays. This page is the map; the pages that follow go one level deeper.
The control plane
Your instance — a self-hosted server, the desktop app, or the SaaS — is the control plane. It owns projects, deployments, domains, environment variables, and the permission model, and it is the only thing the dashboard talks to.
Deploy targets
A project deploys to one of three targets:
- local — a container or process on the instance's own machine.
- server — an SSH-reachable server you've connected.
- cloud — Openship Cloud compute.
The target is resolved once per deploy and snapshotted, so preflight, the build pipeline, and rollback can never disagree on where a deployment lands.
Where data lives
Local and server projects are canonical in your instance's own database. Cloud projects are canonical on Openship Cloud — a project is either fully local or fully cloud, never split. See Cloud-as-source.