Work

VPS deployment automation / 2026 / Independent builder

SimpliCD

Simple Deployment Automation

Overview

Lightweight CI/CD tool for VPS and bare-metal deployments. Handles webhooks, health checks, restarts, rollbacks, and notifications without Docker, Kubernetes, or extra agents.

Role

Independent builder

Focus

VPS deployment automation

Stack

Go / Linux / Git / YAML

Selected signals

Stack

4 technologies

Go, Linux, Git

Delivery

1 public endpoints

Backed by a public repository and operator-facing docs.

Runtime

Webhook-driven deploys

Health checks, restarts, and rollbacks without extra agents.

Ops shape

VPS and bare metal

Fits the environments smaller teams actually operate.

Case study

SimpliCD

Lightweight deployment automation for VPS and bare-metal environments. No Kubernetes, no agents, no unnecessary platform overhead.

The Problem

A lot of deployment tooling assumes the target environment is already complex: container orchestration, dedicated CI runners, multiple environments, and a team large enough to support that machinery. But many real deployments are much simpler. They are one or two servers, a handful of apps, and a need for reliable rollouts without ceremony.

That gap matters. When the deployment story is too heavy for the actual environment, teams end up with brittle shell scripts, manual SSH workflows, or a pile of tooling whose operational cost is higher than the application it exists to deploy.

The Solution

SimpliCD is a self-hosted deployment tool written in Go and distributed as a single binary. It is built for lean environments: VPS instances, small bare-metal setups, and teams that want practical automation without signing up for a full platform stack.

It watches repositories, pulls changes, runs build steps, manages processes, performs health checks, supports rollback, and emits notifications. The design focus is straightforward: automate the boring parts of deployment while keeping the operational model easy to understand.

How It Works

  1. Configure Projects - Define repo, branch, build steps, start command, and health checks in one YAML config.
  2. Trigger Deployments - Deploy manually or respond to Git webhooks.
  3. Manage Runtime - Start, restart, and monitor long-running processes.
  4. Verify Health - Use health checks to catch bad releases early.
  5. Rollback Quickly - Revert to a known-good version when needed.

Key Features

  • Webhook and Polling Support - Works with common Git hosting setups.
  • Private Repo Access - Handles SSH keys and token-based access.
  • Health Checks - Validates deployments before calling them good.
  • Auto-Restart - Recovers from crashes with retry limits and backoff.
  • Status and Logs - Gives operators a compact runtime view.
  • Notifications - Supports Slack, Discord, email, and generic webhooks.
  • Rollback - Keeps previous releases available for recovery.
  • Systemd Integration - Fits normal Linux service management.

Technical Stack

  • Go - Single-binary distribution and predictable performance.
  • Chi - Lightweight HTTP surface for webhooks.
  • YAML - Simple operator-facing configuration.
  • Systemd - Native service lifecycle integration.
  • nfpm - Packaging for Linux distributions.

What This Shows

SimpliCD is probably the clearest expression of the kind of platform work I want to do. It focuses on deployability, runtime control, failure handling, and reducing operational drag for small teams. It is built from the perspective that infrastructure should match the scale and reality of the team using it.

Why I Built This

I kept running into the same mismatch: my actual deployment environments were small and straightforward, but the common advice pushed me toward tooling designed for much larger systems. I wanted something that respected the reality of “a VPS with a few apps” while still behaving like real deployment infrastructure. SimpliCD came out of that need.

Links

What this work shows

  • Automates deploys for the one-server and few-server setups many teams actually use.
  • Adds rollout safeguards like health checks and rollback paths.
  • Avoids platform overhead when the target is just reliable shipping.

Links

Stack

Go / Linux / Git / YAML