Menu
Your VPS · Your keys · One dashboard

Deploy to your VPS without the complexity

Connect any Linux VPS over SSH, push from Git or upload a .zip, define your build commands, and sshship handles the rest. No Docker fleet to run yourself. Your apps stay on the VPS you choose.

deployment #42 · my-api · production
[00:00]   Deployment started
[00:01]   Cloning git@github.com:you/my-api.git (branch: main)
[00:03]   Running build commands...
[00:03]     composer install --no-dev --optimize-autoloader
[00:07]     php artisan migrate --force
[00:07]     php artisan config:cache
[00:07]     php artisan route:cache
[00:08]   Restarting PHP-FPM...
[00:08]   Deployment completed successfully in 8s

Everything you need to ship

Connect the servers you already rent or own, automate deploys, and see every run in one place.

SSH key-only auth

SSH private keys are encrypted at rest. No passwords stored. Keys are used only to reach your server for deploys and related actions — never logged.

Git + .zip deployments

Clone or pull from GitHub/GitLab using SSH deploy keys per project. Or upload a .zip artifact — it's downloaded via signed URL on your VPS and extracted.

Build command pipeline

Define an ordered list of shell commands. They run sequentially under set -euo pipefail — any failure stops the deploy and surfaces in the logs.

Webhook triggers

HMAC-validated GitHub webhooks kick off deploys automatically. The webhook secret is encrypted at rest and shown to you only once.

Execution engine

Deploys run through sshship’s execution layer: SSH to your VPS when you trigger a run, live logs, timeouts, and monitoring on our side.

Deployment history & logs

Every deploy is tracked with timestamps, status, and full stdout/stderr logs. Re-inspect any past run directly from the dashboard.

Clean separation of concerns

sshship is the app you use: accounts, projects, billing, encrypted secrets, and the job queue. Our execution layer runs on sshship infrastructure and opens outbound SSH only to your VPS using the keys you save in your account. Your apps and data stay on your machines; we orchestrate deploys from our platform.

Source → Prepare → Execute
Unified pipeline for both Git and .zip deployments. Prepare stage runs on your VPS, then build commands execute sequentially.
Queued deploys
Runs are queued on sshship — resilient to restarts and retry-able on failure.
Logs in the dashboard
Every deploy’s output is captured and stored so you can audit past runs from the app.

# How it fits together

You — browser or API

sshship (hosted app)

│ ├─ Sign-in, teams, billing

│ ├─ Encrypted SSH keys & secrets

│ └─ Queue → deploy jobs

Execution layer (our infrastructure)

│ └─ Outbound SSH sessions

Your VPS (your SSH key in authorized_keys)

Ready to take control of your deployments?

Set up in minutes. No cloud account required.