Developer Tools / Infrastructure

Pushline

A zero-config CI/CD tool for small teams. Define your pipeline in one YAML file and deploy to any VPS over SSH with zero-downtime releases.

Solo DeveloperOpen Source2023
🚀

Overview

Pushline is a deployment tool for teams that ship to VPS instances instead of managed platforms. It reads a YAML config, builds Docker containers, pushes them to the server over SSH, and swaps traffic with zero downtime. No Kubernetes, no cloud vendor lock-in, no 200-line CI configs.

The Problem

Kubernetes is overkill for most small projects. Vercel and Railway are great until you need a background worker, a database on the same box, or custom networking. Many developers end up SSH-ing into servers and running ad-hoc deploy scripts. There's a gap between 'git push to Vercel' and 'hire a DevOps engineer' that most tools don't address.

Approach

Declarative YAML pipeline

One file defines services, build steps, environment variables, health checks, and deploy strategy. The config is version-controlled alongside the code, so every deploy is reproducible. Pushline validates the config on parse and surfaces errors before anything runs on the server.

Zero-downtime rolling deploys

New containers spin up alongside running ones. Pushline waits for health checks to pass, then swaps the reverse proxy config to route traffic to the new containers. Old containers drain and stop only after traffic has shifted. A failed health check triggers automatic rollback to the last known-good state.

SSH-native execution

Everything runs over SSH. No agent to install on the server, no daemon to manage. Pushline connects, transfers built images, and orchestrates the deploy remotely. The only server requirement is Docker and SSH access.

Challenges

Reliable rollbacks without orchestration infrastructure

Without Kubernetes, rollback state tracking needed to be built from scratch. Pushline stores a manifest of the last 5 successful deploys on the server. Rolling back is a single command that restores the previous container set and proxy config atomically.

Results

Pushline is used by 120+ developers to deploy applications to VPS instances with zero-downtime releases.

120+

Developers using Pushline

<45s

Average full deploy cycle

0

Server agents required

Tech Stack

Node.jsCLI runtime with native SSH2 library for remote execution
TypeScriptType-safe config parsing and deploy pipeline logic
DockerContainer builds and orchestration on the target server
NginxReverse proxy config generation for zero-downtime traffic swaps