
Ship
Deploy from terminal. No dashboards. No context-switching.
A lightweight infrastructure CLI built for AI coding agents.
Provision servers, deploy apps, manage secrets — all from one command.
Install
bash
curl -fsSL https://raw.githubusercontent.com/basilysf1709/ship/main/install.sh | shDownloads the latest binary for your platform. Requires macOS or Linux.
Quick Start
1
Set your provider token
Export your cloud provider API key. Ship supports DigitalOcean, Hetzner, and Vultr.
export DIGITALOCEAN_TOKEN=dop_v1_...2
Create a server
Provisions an Ubuntu server with Docker pre-installed and your SSH key registered.
ship server create --provider digitalocean3
Deploy your app
Builds your Docker image, uploads it, and runs the container on your server.
ship deploy4
Check status
Verify your app is live with SSH reachability, healthcheck, and release info.
ship statusSupported Providers
DigitalOcean
DIGITALOCEAN_TOKEN
Default region: nyc3
Hetzner
HCLOUD_TOKEN
Default region: nbg1
Vultr
VULTR_API_KEY
Default region: ewr
Commands
| Command | Description |
|---|---|
ship server create | Provision a new cloud server |
ship server list | Show all tracked servers |
ship server destroy | Tear down server and clean state |
ship deploy | Build and deploy your application |
ship status | Check server and app health |
ship logs | Fetch container logs |
ship exec | Run remote commands on server |
ship rollback | Restore a previous release |
ship secrets | Manage and sync environment secrets |
ship domain setup | Configure reverse proxy with auto-TLS |
ship init | Generate starter ship.json config |
ship bootstrap | Apply packages and setup commands |
Configuration
Optionally create a ship.json for custom deploy flows.
json
{
"deploy": {
"local_commands": ["npm ci", "npm run build"],
"uploads": [{
"source": "dist.tar.gz",
"destination": "/opt/app/release.tar.gz"
}],
"remote_commands": ["cd /opt/app && tar -xzf release.tar.gz && npm start"]
},
"proxy": {
"domains": ["example.com"],
"app_port": 3000
}
}