binboat
A tiny, self-contained PaaS for hosting small server-rendered web apps (Go, Zig or C + SQLite) on a single VPS behind Cloudflare.
One binary. No Docker, no extra reverse proxy. SSH in once and run one command; it prints a one-time password, and everything else happens in a web dashboard.
Cloudflare (proxied, Full strict) ──HTTPS──► binboat (TLS + routing + dashboard + deploys + backups) ──► your apps on 127.0.0.1
- Deploy GitHub releases with a click. Each app's own GitHub Actions workflow tests and builds it when you push a tag; binboat lists the releases and Deploy downloads, verifies and runs the one you pick. The server never compiles anything. Rollback is one click too.
- Only your Cloudflare account can reach your apps: Cloudflare Origin CA certificates (Full strict), a Cloudflare-only IP filter and Authenticated Origin Pulls with binboat's own certificate.
- Light isolation: each app runs as its own Linux user with memory, CPU and process limits.
- SQLite backups to R2 or any S3-compatible bucket every 3 hours and before every deploy, kept for 48 hours, with one-click restore.
- Monitoring and logs: CPU, memory, requests and response times per app, live logs, deploy logs.
- Read-only status API for scripts and AI agents ("is my blog up?"), with one rotatable token: Status API.
Scope: 1 server (Ubuntu 24.04+, 1 GB RAM is enough), 1 user, about 5 apps. Status: v1.0.0.
Quick start
On a fresh Ubuntu 24.04+ VPS with your domains on Cloudflare:
curl -fsSL https://github.com/sumitwaani2/binboat/releases/latest/download/install.sh | sudo bash
It prints the address to open and a one-time password. Install and set up has the details: the Cloudflare token you need and the first steps in the browser.
Documentation
- Install: what you need, the one install command, first steps in the browser, updates, moving servers, troubleshooting.
- Hosting an app: the app contract. What a Go, Zig or C app must do, and the release workflow that builds it.
- Status API: read-only JSON for scripts and AI agents.
- How it works: the architecture and the decisions behind it.
License and maintenance
binboat is licensed under the Apache License 2.0.
It is offered as it is, with no roadmap:
- At most one release a year (minor or major).
- Bugs and issues are fixed actively; new features are not planned.
- Changes stay within the scope described above: one server, one user, a few apps behind Cloudflare. Requests beyond it are declined, even good ones.