DEV Community

KellyBride Ijang Longchi
KellyBride Ijang Longchi

Posted on

Deploy to Any VPS Over SSH (Without Becoming a DevOps Engineer)

If you’re a solo developer or an agency, you’ve probably lived this story:

You ship a project.
It lands on a VPS.
A week later you’re SSH’ing in at 2am, grepping logs, restarting services, or wondering why a deploy didn’t stick.

Most “serious” DevOps stacks are powerful, but heavy. And if you’re managing multiple client servers, your biggest enemy is not complexity.

It’s repeatability.

This post shows a simple, developer-friendly workflow:

Connect a VPS over SSH
Deploy from Git in one click
Track metrics + logs
Get alerts when things go sideways
Keep automated backups running

All from one dashboard: sshship.

Who this is for
Solo devs shipping side projects to a VPS
Agencies managing multiple client servers
Anyone who wants deploys + monitoring without assembling 6 different tools
The “lightweight VPS workflow” (what we’re building)

Here’s the setup most developers actually want:

Connect server once
Deploy repeatedly
See what’s happening
Know when something breaks
Recover fast

sshship is built around that exact loop.

Step 1: Connect your VPS (SSH, not agents)

You connect your Linux VPS to sshship over SSH.

No agent to install on the server
No “special” runtime required
Works with typical VPS providers like Hetzner, Contabo, and DigitalOcean

Tip: Use a dedicated deploy key instead of your personal SSH key.

Step 2: Deploy from Git (or .zip)
Once the server is connected, you can deploy:

From Git (the normal way developers ship)
Or from an uploaded archive when Git isn’t ideal

You get a repeatable deployment pipeline:

Pull code
Run build commands
Restart services
Track deploy status

This is the part agencies love most: it becomes consistent across client projects.

Example deploy workflow
git pull origin main
npm install
npm run build
pm2 restart app

Instead of manually SSH’ing into servers repeatedly, sshship helps standardize this process across projects.

Step 3: Get visibility metrics, logs, and “what changed?”
A VPS doesn’t fail politely.

You need answers fast:

CPU/RAM/Disk usage
Usage spikes over time
Service health indicators
Logs when deploys fail

sshship keeps this visible so you don’t have to guess.

Step 4: Alerts that don’t spam you
Alerts should be:

Actionable
Rate-limited
Tied to real events (not noise)

sshship supports alert rules and digest-style notifications so you can respond without being flooded.

Step 5: Automated backups to a folder (or S3)

Backups should never be a “someday” task.

sshship can schedule database backups:

Saved to a server folder you choose
Example:

/var/backups/yourapp
Or uploaded to S3-compatible storage

This is huge for agencies because backup policies become standardized per project.

Why sshship instead of “just scripts”?

You can do all of this manually with:

Bash scripts
Cron jobs
Dashboards
Multiple monitoring tools

But what you really want is:

Fewer moving parts
One place to see deploy + health
Standardized workflows across servers

sshship is meant to be that “thin layer” between you and VPS chaos.

Getting started (quick checklist)
Create an account
Add a server via SSH
Add a project (Git or upload)
Deploy
Turn on monitoring + alerts
Add a backup schedule
What’s next

If you want to see more guides like this, I’m planning posts on:

Deploying Laravel to a VPS with zero drama
Deploying Node/Next.js with a clean restart strategy
A simple agency setup for managing multiple client servers
Backup strategies that don’t require a DevOps team

If you try sshship and have feedback, I’d love to hear what workflow you’re using today and what you wish was easier.

Ship faster. Sleep more.

Top comments (0)