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.
Deploying api
- Pull image
- Apply variables
- Mount volumes
- Update service
step 1 of 4
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
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
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
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.
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/.envanddocker-compose.yml - Configures Traefik, with HTTPS if you want it
- Pulls the images and starts the stack