Self-Hosted & VPS-First

Git-Native Deployments
For Your Own VPS.

Push to GitHub. Deploy anywhere. No Kubernetes required.
Just run your deployment scripts safely on your own infrastructure.

0
YAML Pipelines
1
Zero-Dependency Binary
Projects per VPS
Terminal — Install CICD instantly
# 1. Run the universal shell installer
curl -fsSL https://github.com/KTBsomen/cicd/releases/latest/download/install.sh | sh

# 2. Start the core background daemon
sudo ./cicd
Single static binary. Zero dependencies. Under 2 seconds.
Why CICD?

Ditch the Bloat. Keep the Power.

A lot of developers are tired of fighting YAML syntax, heavy container overhead, and expensive cloud subscriptions. We brought deployments back to basics.

YAML Pipelines

No abstraction syntax hell

Why write complex multi-stage configurations when you already have a perfectly working bash script?

Just runs your scripts safely
Kubernetes Overhead

Docker is not mandatory

You don't need distributed clustering and heavy container virtualization just to serve a simple Node, Go, or Python app.

Native VPS / Bare-Metal run
Cloud-Only CI/CD

No minute budgets or lock-in

GitHub Actions limits your execution time and charges premiums. Run infinite deployments on your own hardware.

100% Self-Hosted & Free
Mental Clarity

How It Works

Get up and running in under two minutes with three simple steps.

1. Connect Webhook

Add a standard webhook URL to your GitHub repository. Operates securely using SHA256 signatures.

2. Install Agent

Register the continuous systemd background agent on your VPS with a single-line installer command.

3. Push to Deploy

Git pushes safely trigger your custom .cicd/install.sh and run.sh scripts inside sandboxes.

Flexible Setup

Two Ways to Register Projects

The CICD binary always runs as a multi-project manager with the dashboard active. Register projects from the CLI or UI.

Option A — CLI Registration

Register via CLI Flags

Pass your repository URL, target branches, custom webhook ports, Slack notifications, and admin emails directly when starting the daemon.

sudo ./cicd \
  --repo-url https://github.com/you/app \
  --branch main \
  --webhook 9641 \
  --webhook-secret mysecret \
  --admin-email you@example.com \
  --notify-url https://hooks.slack.com/services/...

Automatic project creation   Updates existing settings   Web dashboard remains active

Tip: These are just demo values! You don't have to build these flags manually. Use our Interactive Command Generator below to build your production setup command instantly!

Option B — Web Dashboard

Register via Command Center

Run the core binary with no repo flags. Open the dashboard in your browser and register/configure projects via the UI.

sudo ./cicd

Interactive creation forms   Visual setting adjustments   Manage all projects from one dashboard

Features

Everything You Need. Nothing You Don't.

Auto-Deploy on Git Push

GitHub webhook listener with HMAC-SHA256 signature verification. Push → Deploy → Live.

Real-Time Dashboard

CPU, Memory, Ports, Uptime — all streamed live via SSE. No page refreshes.

One-Click Rollback

Roll back to any previous commit instantly. Auto-rollback on health check failure.

Custom Health Checks

Drop a health.sh in your .cicd/ folder. CICD runs it every 30 seconds.

Sandboxed Execution

Each project gets its own Linux user. No root access for your app code. Ever.

Multi-Server Fleet Sync

Connect MongoDB Atlas (free tier) to sync deployments across your entire fleet.

Pin & Protect Deployments

Pin a service to a commit. New pushes are recorded but never deployed until you unpin.

Slack / Discord / Email Alerts

Get notified on deploy success, failure, rollback, and crash recovery — everywhere.

Self-Healing Restarts

Exponential backoff restart engine. Max 5 retries, then stops to prevent crash loops.

Quick Start

Generate Your Setup Command

Fill in the form below. Copy the command. Paste it on your server. Done.

Admin Alerts & SMTP Setup

Providing an admin email requires SMTP settings to transmit login links.

Your Setup Commands

Loading...

What happens next?

1. Binary installs to /usr/local/bin/cicd
2. Creates systemd service (auto-starts on boot)
3. Clones your repo, runs .cicd/install.sh + .cicd/run.sh
4. Dashboard available at http://your-ip:9641/dashboard

Works Everywhere

Deploy on Any Cloud

Ready to simplify your deployments?

No flags needed to start. Run the installer and you're good to go.

Terminal — Setup
# Run the universal installer
curl -fsSL https://github.com/KTBsomen/cicd/releases/latest/download/install.sh | sh

# Boot the daemon
sudo ./cicd

Read the Full Docs →