Skip to content

Overview

Every Home First app ships the same way, so running any of them looks the same.

  • One Go binary. The server is a single statically-linked binary with the Flutter web UI embedded — no separate web server to run.
  • One Postgres database. Each app keeps all of its data in its own Postgres database, and updates its schema itself when it starts.
  • A machine in your home: NixOS, or anything that runs Docker.
  • PostgreSQL 15 or newer. tendant also needs the pgvector extension. Both deployment guides set this up for you.
  • Optional: Ollama, or any OpenAI-compatible endpoint, for the local models the apps use.
  • Deploy on NixOS — the recommended path: hardened systemd services, a local Postgres with no database passwords, scheduled backups, and the optional Laya decision model, all from the Home First flake.
  • Deploy with Docker Compose — the published images, one Postgres, and a backup container.

Either way: keep the apps on your tailnet rather than the public internet, back up the database and each app’s credentials key, and take a backup before every upgrade.

Both apps publish multi-arch (amd64 + arm64) container images: git.bcnelson.dev/home-first/tendant and git.bcnelson.dev/home-first/openprm. Tags are the exact version (e.g. 2026.7.01), latest for the main branch, and the stable / rc / beta release channels.