homeport deploys single-binary web apps — Go, Rust, bun --compile, anything
that ships as one executable — to your own VPS. No Docker, no registry, no
agent, no runtime installed on the server. One command hardens a fresh box;
one command deploys.
homeport bootstrap [email protected] # once per server
homeport init # once per project
homeport secrets push .env # if you have secrets
homeport deploy # build → upload → health-checked activateA €4/mo Hetzner box comfortably hosts a dozen apps this way.
Why binaries
The artifact you tested is byte-for-byte the artifact that runs. Deploys are a
file copy plus a symlink flip: atomic, instantly rollback-able, and the server
needs nothing installed — no Node, no Bun, no Go, no apt install drift.
Nothing on the server
The box runs SSH and Caddy. Your app is one executable behind a health check. No daemon of ours runs as root beyond a tightly-scoped helper.
Atomic deploys
Upload the new release next to the old one, health-check it, then flip a symlink. Rollback is flipping it back — old releases stay on the box.
Hardened by default
bootstrap sets up key-only SSH, no root login, a firewall, fail2ban, and
automatic security updates before anything ships.
Your keys, your box
Secrets travel over ssh stdin, never argv or git. A leaked CI key is scoped to one app and can’t take the server.
Where to next
Install
Get the homeport CLI on your laptop or CI — see Installation.
Quick start
Never touched a VPS? Go from a bare box to a live app — see Quick start.
Configuration
Every homeport.yaml field in one table — see Configuration.
Commands
The full CLI surface — see Commands.