Deploy apps to servers you own.

Shipyard is an open-source platform you install on your own server. Deploy from Git or any Docker image, get HTTPS on your domain, roll back in one click, and see every service on a live canvas.

curl -fsSL https://shipyard.trian.space/install.sh | sudo bash

Free and open source under the MIT license. Current release v0.1.0.

Built on open-source infrastructure you already trust

  • Docker Swarm
  • Traefik
  • Let's Encrypt
  • PostgreSQL
  • Rust
  • SvelteKit

Runs on your servers

Install on any Linux VPS with Docker. Your code, data and logs stay on machines you control, and there’s no per-seat bill. Add servers later and Swarm spreads the work.

Deploys that keep your data

Databases get a persistent volume automatically, and stateful services stop before they restart, so a redeploy or a Shipyard update never brings them back empty.

Every service, live

Services, volumes and domains sit on one canvas with their status, logs and resource use streamed as they change, so you see a failing deploy before your users do.

From a fresh server to a live app in three steps

No control plane to rent and nothing to sign up for. Shipyard installs next to your apps and manages them from there.

  1. 1

    Install on your server

    Run one command on any Linux machine with Docker. It writes the config, generates secrets, sets up Traefik and HTTPS, and starts the stack.

  2. 2

    Create your organization

    Open your domain, make the admin account and your first organization, and invite your team with roles from owner to viewer.

  3. 3

    Deploy your first app

    Point Shipyard at a Git repo or an image, add a domain and press Deploy. Every deploy is recorded, so rolling back is one click.

Read the install guide

Everything a small team needs to run production

Deploy

From Git
Push to deploy. Shipyard builds from your Dockerfile or with Nixpacks on your server.
From any image
Run anything from Docker Hub, GHCR or Shipyard’s own built-in registry.
Docker Compose import
Paste a Compose file and get managed services, networks and volumes.
One-click rollback
Every deploy records its exact image digest, so going back is instant.
API keys and webhooks
Trigger deploys from GitHub Actions, scripts or another platform.

Run

Automatic HTTPS
Add a domain and Traefik issues a Let’s Encrypt certificate for it.
Persistent volumes
Databases keep their data across redeploys, restarts and updates.
Resource limits
Cap CPU and memory per service so one container can’t starve the rest.
Multi-node Swarm
Join more servers with one script. Swarm spreads and reschedules work.
Edge functions and sandboxes
Run TypeScript functions on Deno, or build small apps in the browser.

Operate

Live topology canvas
Services, volumes and domains on one canvas, updated as they change.
Logs, terminal and metrics
Stream logs, open a shell in a container, watch CPU and memory.
Roles and permissions
Owner, admin, member and viewer, per organization and per project.
Audit log
Who deployed what, when and from where, for every action.
Docs for people and LLMs
Every docs page is also plain Markdown, indexed by llms.txt.

Install it on your server

Needs Docker 24 or later and Docker Compose v2. Tested on Ubuntu 22.04+ and Debian 12+. The script installs Docker for you if it’s missing.

curl -fsSL https://shipyard.trian.space/install.sh | sudo bash
  • Checks Docker and Docker Compose
  • Generates secure random secrets
  • Writes /opt/shipyard/.env and docker-compose.yml
  • Configures Traefik, with HTTPS if you want it
  • Pulls the images and starts the stack