What is Openship? The Self-Hostable Deployment Platform Explained
Openship is an open-source, self-hostable deployment platform that bundles a complete CI/CD pipeline, routing, TLS termination, and management interfaces into a single stack deployable anywhere from laptops to cloud VMs.
Openship is an open-source deployment platform developed by the oblien organization that unifies container orchestration, automated SSL provisioning, and application templating into one cohesive system. Unlike traditional PaaS solutions that lock you into proprietary infrastructure, Openship provides full source code transparency and multiple deployment modes ranging from local bare-metal processes to full Docker Compose stacks. Whether you are deploying a personal project from your laptop or managing production workloads on dedicated servers, the platform offers consistent tooling through its CLI, web dashboard, and desktop application.
Core Architecture
The Openship platform consists of three primary components that communicate through a unified control plane. According to the repository’s README.md, the architecture includes a control-plane API for orchestration, a dashboard UI for visual management, and an edge router built on OpenResty (NGINX + Lua) that handles reverse-proxying and automatic Let’s Encrypt certificate provisioning.
The persistence layer relies on PostgreSQL for state management and Redis for caching and queue processing. The entire stack runs as Docker containers defined in docker/docker-compose.yml, though the platform also supports a lightweight bare-mode process for resource-constrained environments.
Deployment Modes
Openship adapts to your infrastructure requirements through three distinct operational modes, each designed for different workflow needs.
Desktop and Bare Mode
The desktop or bare mode runs as a lightweight process on Linux, macOS, or Windows without requiring persistent host services. In this configuration, the control plane runs locally and drives remote servers via SSH, making it ideal for developers who want to manage cloud resources from their personal machines without installing server-side daemons.
Self-Hosted Server
Running openship up launches the full Docker Compose stack on a Linux host, exposing the edge router on ports 80 and 443. This mode hosts your applications on the same machine running the platform, utilizing the definitions in docker/docker-compose.yml to orchestrate Postgres, Redis, the API, the dashboard, and the edge router as interconnected services.
Openship Cloud
For teams seeking zero-setup infrastructure, Openship Cloud provides a managed SaaS offering with auto-scaling sandboxes. This option eliminates server maintenance while maintaining compatibility with the self-hosted CLI and API workflows.
App Catalog and Templates
Openship ships with a curated catalog of one-click applications—such as CMS platforms with preconfigured databases—that simplify complex multi-service deployments. Each catalog entry describes services, generated secrets, and wiring steps in a JSON schema processed by the app-templates module.
The template logic and type definitions reside in packages/core/src/app-templates.ts, which exports interfaces like TemplateServiceSpec and AppPrepareStep. These structures containerize health checks, startup ordering, and in-container command execution, ensuring that database migrations and service dependencies resolve correctly before applications accept traffic.
Infrastructure Adapters
The platform abstracts edge router and infrastructure components using adapter patterns located in packages/adapters/src/infra/. Specifically, openresty-lua.ts implements the OpenResty Lua integration that enables dynamic routing table updates and automated TLS certificate provisioning without exposing sensitive secrets to application containers.
These adapters allow Openship to treat routing and certificate management as pluggable concerns, making it possible to extend the platform to support alternative reverse proxies or service meshes while maintaining the same administrative interfaces.
Management Interfaces
Openship exposes the same backend capabilities through three distinct interaction patterns, ensuring that solo developers, web-based teams, and automated CI systems can all operate the platform effectively.
- Desktop Application: A full GUI client optimized for solo developers managing projects from their local workstation.
- Web Dashboard: A browser-based interface hosted by the control plane, designed for team collaboration and multi-project oversight.
- CLI: A scriptable command-line tool defined in
apps/cli/package.jsonthat powers CI pipelines and serves as the installer for self-hosted instances.
Automation and APIs
Beyond human-facing interfaces, Openship exposes automation hooks through both an MCP endpoint for AI agents and a traditional REST API. Both interfaces re-check permissions on every request, ensuring that credential routes never inadvertently become tools. This design pattern prevents privilege escalation while allowing external automation to trigger deployments, rotate secrets, and query service health programmatically.
Getting Started with Openship
You can install Openship and deploy your first application using the following patterns.
Install the CLI, which bundles the API and dashboard:
curl -fsSL https://get.openship.io | sh
# Alternative: npm i -g openship
Run the interactive wizard to create an admin account and configure your domain:
openship # guided setup
openship open # opens the dashboard in your browser
Launch a self-hosted server with the full Docker Compose stack:
openship up
openship up --public-url https://myapp.example.com
Deploy a project from a local folder:
cd my-awesome-app
openship init # links folder to an Openship project
openship deploy # builds, pushes, and routes automatically
Run in bare mode for lightweight local control:
openship up --bare
Update a running instance to the latest version:
openship update
Summary
- Openship is an open-source deployment platform combining CI/CD, routing, and TLS management in one stack.
- The architecture comprises a control-plane API, dashboard UI, and OpenResty-based edge router running on PostgreSQL and Redis.
- Three deployment modes—desktop/bare, self-hosted Docker Compose, and managed cloud—accommodate different infrastructure needs.
- App templates defined in
packages/core/src/app-templates.tsenable one-click deployment of complex multi-service applications. - Infrastructure adapters like
packages/adapters/src/infra/openresty-lua.tsabstract routing and certificate provisioning. - The CLI (
apps/cli/package.json), web dashboard, and desktop app provide equivalent control surfaces for different user preferences.
Frequently Asked Questions
What distinguishes Openship from other PaaS solutions like Heroku or Railway?
Openship is fully self-hostable and open-source, allowing you to audit the entire codebase and run the platform on your own hardware without vendor lock-in. Unlike proprietary platforms, Openship exposes its internal architecture—including the OpenResty Lua routing logic in packages/adapters/src/infra/openresty-lua.ts—giving you complete control over SSL termination and request handling.
Can I run Openship without Docker?
Yes. The --bare flag runs the control plane as a single local process without containerization, making it suitable for macOS or Windows development machines and low-resource servers. This mode still manages remote Docker hosts via SSH but does not require Docker on the machine running the Openship CLI.
How does Openship handle database schema migrations and service dependencies?
The TemplateServiceSpec and AppPrepareStep interfaces in packages/core/src/app-templates.ts define startup ordering and health-check gates. The platform ensures that dependent services—such as databases—pass health checks before application containers start, and it supports in-container command execution for running migration scripts automatically during deployment.
Is Openship suitable for production workloads?
Absolutely. The self-hosted server mode runs a production-grade Docker Compose stack defined in docker/docker-compose.yml that includes PostgreSQL persistence, Redis caching, and automatic Let’s Encrypt certificate rotation. The edge router built on OpenResty handles high-throughput routing and TLS termination, while the permission-restricted API prevents unauthorized automation access.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →