Stars
Forks
Watchers
Developer links
Single Server
Point it at your GitHub repos and every push goes live in under five seconds: one Linux box becomes the deployment platform for every app you have ever shipped, with no build queue, no per-app bills, and no pile of YAML. An interactive installer wires the box up once, creating a GitHub App for limited, revocable repo access, Cloudflare DNS records and a tunnel so visitors get TLS and CDN at the edge while your server IP stays hidden, and Tailscale access so you SSH in without exposing SSH to the public internet. From then on you just push: the daemon receives the webhook through a Tailscale Funnel, verifies its signature, fetches the commit, builds the image on the server from your Dockerfile or a generated one, and swaps traffic only after the new container passes its health check, so a failed deploy leaves the previous version serving. Each app runs in its own container with its own environment variables and persistent storage, and one CLI on the box handles the rest: add or remove apps, attach a domain in one command, roll back to an earlier commit, stream logs, check status, take backups, or run doctor to diagnose every layer from daemon to DNS. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- Push to Deploy in Seconds
- Every push to your configured branch triggers a signed webhook, an on-server image build, and a live swap in under five seconds for typical apps, with no CI queue, cold start, or registry upload.
- Zero Downtime on Every Deploy
- Kamal starts the new container beside the old one and flips traffic only after its health check passes. A failed build or rollout leaves the previous version serving, untouched.
- One Box, Every Project
- Each app gets its own container, environment variables, and persistent storage on a single Linux machine, so side projects and small products share one bill instead of one platform account each.
- No Lock-in, Plain Tools
- Underneath sit Docker, Kamal, Cloudflare, Tailscale, and GitHub doing the heavy lifting. Stop using Single Server tomorrow and your apps keep running on the same standard pieces.
Features
- GitHub Webhook Daemon
- A Go daemon exposed through Tailscale Funnel receives push events, verifies webhook signatures, fetches the commit, and deploys only repos present in your apps.yml list.
- Kamal Zero-Downtime Rollouts
- The first deploy runs kamal setup and later ones kamal redeploy, starting the new release beside the old and moving traffic across only once health checks pass.
- Cloudflare Tunnel and DNS
- Setup creates proxied DNS records and a Cloudflare Tunnel for you, putting TLS, CDN caching, and DDoS cover at the edge while the origin IP stays hidden.
- Tailscale SSH Access
- You administer the box over Tailscale SSH with no public SSH port and no keys scattered across laptops, while Funnel gives GitHub a public URL for webhooks only.
- On-box CLI Toolkit
- One binary doubles as the CLI: add and remove apps, deploy or roll back, stream logs, inspect status, manage domains, env vars, storage, backups, and run doctor diagnostics.