Skip to content

Quick start

From a bare Ubuntu VPS to a live, HTTPS app in four steps — even if you've never used a server before.

Never touched a VPS before? This takes you from a fresh box to a live app with automatic HTTPS.

Create a server

On Hetzner Cloud (or any provider): add a server and pick the latest Ubuntu LTS (26.04). The cheapest shared box is fine. Add your SSH key when prompted and copy the server’s IP.

Bootstrap it

From your laptop:

homeport bootstrap root@<ip>

This hardens the box (firewall, key-only SSH, no root login, fail2ban, automatic security updates), installs Caddy for automatic HTTPS, and installs homeportd, the server-side helper. It’s idempotent — safe to re-run. You can also paste bootstrap/bootstrap.sh into Hetzner’s user data field at creation and the box sets itself up on first boot.

Point DNS

Add an A record for your domain to the server’s IP. Certificates issue automatically once it resolves.

Deploy

In your project:

homeport init      # writes homeport.yaml, auto-detecting the project type
homeport deploy    # build → upload → health-checked activate

init auto-detects Go, Rust, Next, Nuxt, SvelteKit, TanStack Start, and Bun. Open your domain — it’s live.

What just happened

deploy built your app locally, uploaded the binary next to any previous release, started it bound to loopback, waited for a health check to pass, then pointed Caddy at it. If the health check had failed, the previous release would still be serving — nothing goes live until it’s healthy.

From here: wire up secrets, put the app behind Cloudflare, or read the full configuration reference.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close