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.

Updated View as Markdown

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

  1. 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.

  2. 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.

  3. Point DNS

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

  4. 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