Skip to content

Introduction

Deploy single-binary web apps to your own VPS — no Docker, no registry, nothing on the server but your binary.

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 activate

A €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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close