Own Your Infrastructure.
SyncShip is a self-hosted Platform-as-a-Service (PaaS) designed for developers and agencies who are tired of high bandwidth bills and proprietary "Edge" platform limits.
By installing a lightweight daemon on your own Ubuntu VPS, you gain the "Vercel Experience" — git-push to deploy, automated Nginx routing, and Let's Encrypt SSL — without the markup. SyncShip manages the DevOps heavy lifting, so you can focus on building beautiful products.
Zero Lock-in
It's your server. If you stop using SyncShip, your apps keep running on standard Nginx/PM2.
Raw Performance
No "cold starts". Your backend apps run as persistent processes with full access to host resources.
Installation
# 2. Run the one-line installer
What happens during install?
- Installs generic dependencies (Node.js, PM2, Git)
- Configures Nginx and initializes the web root
- Sets up the SyncShip Daemon as a systemd service
- Establishes a secure Firestore connection for real-time control
Prerequisites
Ensure your VPS firewall allows incoming traffic on **Port 80 (HTTP)** and **Port 443 (HTTPS)**. SyncShip needs these for Nginx routing and Certbot SSL generation.
GitHub Integration
SyncShip connects directly to your GitHub account to pull your source code and listen for updates. We use secure OAuth authentication and scoped permissions to ensure your repos are safe.
Once connected, you can browse and select any repository — including private ones. SyncShip auto-injects an access token during the deployment phase, so you never have to manage SSH keys on your VPS manually.
Fine-grained Scopes
We only request repo read access.
Auto-Webhooks
GitHub notifies us on every push.
Deployment Guide
Static Sites
Perfect for SvelteKit, Vite, React, or static generators like Hugo/Astro. SyncShip builds your app and routes Nginx to the output directory.
npm run builddiststandardNode.js Backend
For persistent API servers or SSR apps. SyncShip manages the process via **PM2** and automatically handles the reverse proxying to an available host port.
Automatic Port Allocation
SyncShip scans your system for used ports (including Docker and other PM2 processes) and allocates a unique port starting from **3001**. This port is then injected via the `PORT` environment variable.
Docker & Compose
The most flexible way to deploy. Just include a `docker-compose.yml` in your repo. SyncShip will run `docker-compose up -d --build` and route your domain to the correct host port.
ports:
- "${PORT}:3000"
Domains & SSL
SyncShip treats second-level domains as first-class citizens. When you add a domain, our daemon automatically generates an Nginx configuration file in `/etc/nginx/sites-available/` and links it to `sites-enabled`.
1. Point Your DNS
Create an **A Record** pointing to your Droplet IP.
2. Auto-SSL (Certbot)
SyncShip triggers Certbot automatically once DNS propagates.
Advanced Configuration
Secrets & Env Vars
Manage sensitive data without committing it to Git. Add your keys in the **Site Settings** dashboard. SyncShip will create a local `.env` file in your project root before every build.
Automated Webhooks
SyncShip is built for CI/CD. When you connect a GitHub repo, we automatically register a webhook. Every time you `git push`, SyncShip's daemon pulls the latest code and triggers a re-deploy.
Real-time Monitoring
CPU Usage
Live per-core metrics.
RAM Stats
Memory footprint tracking.