# How to Set Up Openship on a VPS or Dedicated Server (2026 Guide)

> Install Openship on a VPS step by step: CLI or Docker Compose, server requirements, guided setup, your first deploy from dashboard or CLI, and hardening.

Source: https://bytevancer.com/blog/how-to-set-up-openship · Published 2026-09-25 · ByteVancer · Guide

**Install the CLI, run the guided setup, and ship your first project — plus headless installs for automation, service management commands, and the hardening steps a young platform needs.**

Openship is an open-source (Apache 2.0) deployment platform that auto-detects your stack, builds an immutable image and ships it to your server over SSH, where an OpenResty edge serves it with automatic HTTPS. This guide installs it on a VPS or dedicated server and deploys a first project, following Openship's installation and quickstart docs. For how it stacks up against the more established option, read our [Coolify vs Openship comparison](https://bytevancer.com/blog/coolify-vs-openship).

> **A young project** — Openship is pre-1.0 (v0.7.x as of September 2026). Pin the version you install, back up its Postgres volumes, and pilot it on a non-critical project before moving production workloads.

## Install options

- **Install script (Linux/macOS shell)** — Command / source: curl -fsSL https://get.openship.io | sh; Best for: Servers — the usual path
- **Install script (Windows PowerShell)** — Command / source: irm https://get.openship.io/windows | iex; Best for: Windows machines
- **npm** — Command / source: npm i -g openship (Node 22+); Best for: Machines that already run Node
- **Desktop app** — Command / source: Mac, Windows, Linux; Best for: Managing and deploying from your own computer
- **Docker Compose from source** — Command / source: git clone https://github.com/oblien/openship.git; Best for: Running the stack straight from the repository

Note: Openship's installation docs show the Windows command with a git.openship.io host; that host does not resolve, and the working one is get.openship.io, as in the table above.

## Server requirements

- **CPU** — Minimum: 2 cores; Recommended: 4+ cores
- **RAM** — Minimum: 2 GB (Bitdoze) · 4 GB (CloudLinux.ro); Recommended: 4+ GB
- **Disk** — Minimum: 20 GB; Recommended: 50+ GB SSD
- **OS** — Minimum: Ubuntu 22.04+; Recommended: Ubuntu 24.04

The guidance differs between sources. Bitdoze lists a 2 GB minimum with 4 GB recommended; CloudLinux.ro puts the minimum at 4 GB because Openship builds on first boot. If you plan to build on the server, start at 4 GB. If you build on your own machine or in the cloud and ship images over SSH, a smaller VPS is workable — that off-box build is Openship's main answer to out-of-memory failures on small servers.

**📊 Openship: minimum vs recommended server (Bitdoze)**
- **CPU cores** — Minimum 2 · Recommended 4
- **RAM (GB)** — Minimum 2 · Recommended 4

*Recommended values are lower bounds (4+ cores, 4+ GB). CloudLinux.ro sets the RAM minimum at 4 GB instead of 2 GB.*
*Source: Bitdoze, CloudLinux.ro*

**📊 Openship disk: minimum vs recommended (Bitdoze)**
- **Minimum** — 20 GB
- **Recommended (SSD)** — 50 GB

*The recommended figure is a lower bound: 50+ GB on SSD.*
*Source: Bitdoze*

## How an Openship deploy works

**The Openship deployment pipeline**
Connect → Build → Ship → Route → Operate

1. **Connect** — A GitHub repository or local folder; the stack is auto-detected.
2. **Build** — An immutable image, built locally, in the cloud or on the server.
3. **Ship** — The image travels to your server over SSH.
4. **Route** — OpenResty + Let's Encrypt, with zero-downtime swaps.
5. **Operate** — Logs, metrics, rollbacks, scheduled jobs, backups.

## Setup at a glance

**Openship setup, start to finish**
Install the CLI → Run openship → Choose private or public → Service starts → openship open → Deploy a repo

1. **Install the CLI** — Install script, npm, or the desktop app.
2. **Run openship** — The guided wizard asks for admin name, email and password.
3. **Choose private or public** — Public mode needs a domain.
4. **Service starts** — Docker Compose stack on Linux with Docker; bare mode otherwise.
5. **openship open** — The dashboard on port 3001.
6. **Deploy a repo** — From the dashboard, or openship init && openship deploy.

## Step 1: Install the CLI

```bash
curl -fsSL https://get.openship.io | sh
```

Given how young the project is, pin a specific release rather than taking whatever is latest. Pick a tag from the [GitHub releases page](https://github.com/oblien/openship/releases) and substitute it for <version>:

```bash
curl -fsSL https://get.openship.io | OPENSHIP_VERSION=<version> sh
```

If your shell can't find the openship command afterwards, add its directory to your PATH:

```bash
export PATH="$HOME/.openship/bin:$PATH"
```

Alternatively, install from npm with `npm i -g openship` — this needs Node 22 or newer.

## Step 2: Run the guided setup

```bash
openship
```

Running `openship` with no arguments starts the wizard. It asks for the admin's name, email and password, and whether the instance is private or public (public needs a domain). It then deploys the platform, creates the admin account and prints the URL. If you'd rather skip the wizard, `openship up` starts the platform without creating an admin — register the first account in the dashboard straight away.

### Compose mode vs bare mode

On Linux with Docker installed, Openship runs as a Docker Compose stack: Postgres, Redis, the API, the dashboard and the OpenResty edge on ports 80 and 443. Anywhere else it falls back to bare mode — a single process with an embedded database. You can force either:

```bash
openship up --compose
openship up --bare
```

On Linux, Openship runs as a systemd service: it restarts if it crashes and starts again on boot.

## Step 3: Open the dashboard

```bash
openship open
```

- **3001** — Service: Dashboard; Exposure: Keep private or behind a trusted proxy
- **4000** — Service: API; Exposure: Keep private or behind a trusted proxy
- **80 / 443** — Service: OpenResty edge; Exposure: Public — serves your apps
- **5432** — Service: Postgres (Compose mode); Exposure: Internal only
- **6379** — Service: Redis (Compose mode); Exposure: Internal only

## Step 4: Deploy your first project

In the dashboard, create a new project and point it at a GitHub repository or a folder. Openship shows a summary of what it auto-detected — Node, Python, Go, Rust, PHP, Ruby, Java, .NET, Docker or a monorepo — then you click Deploy, watch the live build logs, and get a link to the running app.

The same flow works from a terminal inside your project:

```bash
cd your-project
openship init
openship deploy --watch
```

`openship init` writes `.openship/project.json`; `--watch` follows the logs. For a preview environment, deploy with `openship deploy --env preview`.

## Headless install for automation

For provisioning scripts, the Compose install can run without prompts:

```bash
OPENSHIP_ADMIN_PASSWORD='a-strong-password' openship up --non-interactive \
  --admin-email you@example.com --admin-name "You" \
  --domain-kind custom --hostname ops.example.com \
  --acme-email you@example.com --edge migrate
```

- `--domain-kind` accepts byo, custom, free (a <slug>.opsh.io address, which needs a connection to Openship Cloud) or none.
- `--edge` handles an existing proxy on ports 80/443: migrate imports the existing proxy's sites into Openship's edge; takeover stops the existing proxy, so the sites it served stop serving; cancel is the third option.

## Running from source with Docker Compose

```bash
git clone https://github.com/oblien/openship.git
cd openship
cp .env.example .env
docker compose up -d --build
```

Review the copied .env before starting the stack, and keep a strong INTERNAL_TOKEN and auth secrets.

## Managing the service

- **openship status** — What it does: Check API health
- **openship stop** — What it does: Stop the platform; it won't restart on reboot
- **openship up --foreground** — What it does: Run attached to the terminal; Ctrl-C to stop
- **openship up --no-ui** — What it does: Run the API only, without the dashboard
- **openship open** — What it does: Open the dashboard
- **openship doctor** — What it does: Re-check the host control channel
- **openship uninstall** — What it does: Remove Openship (flags: --keep-data, --keep-images, --yes)

## Hardening checklist

> **The API has root-equivalent access** — Openship's API mounts the Docker socket, which is equivalent to root on the host. Treat the dashboard and API like SSH: never expose them publicly without a trusted proxy in front.

- Use `--no-host-control` on a box that only manages remote servers, so it doesn't control its own host.
- Keep a strong INTERNAL_TOKEN and auth secrets.
- Pin the Openship version (OPENSHIP_VERSION) and upgrade deliberately.
- Back up the Postgres volumes.
- Pilot on non-critical workloads first — the docs are thinner and the project is young.

## Troubleshooting

> **openship: command not found** — The binary lives in ~/.openship/bin. Add it to your PATH with export PATH="$HOME/.openship/bin:$PATH" and add that line to your shell profile.

> **API not responding** — Check openship status. If the platform is down, start it again with openship up, and run openship doctor to re-check the host control channel.

> **Build failed** — Read the live build logs in the dashboard, or rerun with openship deploy --watch. On a small VPS, a build can run out of memory — build on your own machine or in the cloud and ship the image over SSH instead.

Prefer the established route? Our [Coolify setup guide](https://bytevancer.com/blog/how-to-set-up-coolify) walks through the same journey, and the [Coolify vs Openship comparison](https://bytevancer.com/blog/coolify-vs-openship) helps you choose.

## Frequently asked questions

**How do I install Openship?**
Run curl -fsSL https://get.openship.io | sh on Linux or macOS, irm https://get.openship.io/windows | iex in Windows PowerShell, or npm i -g openship with Node 22+. Then run openship with no arguments to start the guided setup. A desktop app and a Docker Compose install from source are also available.

**How much RAM does Openship need?**
Sources differ. Bitdoze lists a 2 GB minimum with 4 GB recommended (plus 2 CPU cores and 20 GB disk, Ubuntu 22.04+). CloudLinux.ro says 4 GB is the minimum because Openship builds on first boot. Building off-box and shipping over SSH reduces the load on a small server.

**Which port does the Openship dashboard use?**
The dashboard runs on port 3001 and the API on 4000, with the OpenResty edge on 80 and 443. In Compose mode, Postgres (5432) and Redis (6379) stay internal. Run openship open to open the dashboard.

**How do I deploy with the Openship CLI?**
From your project directory, run openship init (it writes .openship/project.json) and then openship deploy. Add --watch to follow the logs, or use openship deploy --env preview for a preview environment.

**Is Openship safe to expose to the internet?**
Its API mounts the Docker socket, which is root-equivalent on the host, so don't expose the dashboard publicly without a trusted proxy. Use --no-host-control on boxes that only manage remote servers, set a strong INTERNAL_TOKEN, pin versions and back up the Postgres volumes.

## Keep reading

- [Coolify vs Openship: Self-Hosted PaaS on a VPS or Dedicated Server (2026)](https://bytevancer.com/blog/coolify-vs-openship) — Coolify vs Openship on a VPS or dedicated server: maturity, build packs, where builds run, proxies, resources, security, and which one to pick.
- [How to Set Up Coolify on a VPS or Dedicated Server (2026 Guide)](https://bytevancer.com/blog/how-to-set-up-coolify) — Install Coolify on a VPS or dedicated server step by step: requirements, firewall ports, the installer, securing the admin account, DNS and your first deploy.
- [All ByteVancer engineering articles](https://bytevancer.com/blog)

## Want Openship piloted safely before you commit?

We evaluate, install and harden self-hosted platforms, then wire up CI/CD, backups and monitoring around them. See our [self-hosted PaaS DevOps services](https://bytevancer.com/services/devops-services) or [talk to the team](https://bytevancer.com/contact).

## Sources

- [Openship docs — Installation](https://openship.io/docs/getting-started/installation)
- [Openship docs — Quickstart](https://openship.io/docs/getting-started/quickstart)
- [Openship — official site](https://openship.io/)
- [Bitdoze — Openship: a self-hosted PaaS](https://www.bitdoze.com/openship-self-hosted-paas/)
- [CloudLinux.ro — Openship vs Coolify (updated July 22, 2026)](https://cloudlinux.ro/en/tutoriale/openship-vs-coolify)
- [GitHub — oblien/openship releases (checked September 2026)](https://github.com/oblien/openship/releases)

---

*This is the Markdown copy of https://bytevancer.com/blog/how-to-set-up-openship — the page itself has the interactive charts and diagrams.*
