MIT licensed · Open source

Self-host FamilyHub

Run the whole thing on your own hardware. Free forever, MIT licensed, your data never leaves the house.

FamilyHub is genuinely open source — not a "community edition" with features removed. The self-hosted build is the same code we run for our hosted customers, just without the payment module wired up.

View on GitLab

Why self-host

Your data, your hardware

Family photos, grocery lists, kids' schedules — it all stays on the machine you control. No third-party cloud, no analytics, no ads.

Free, forever

No subscription, no license key, no artificial limits. MIT license.

Hack on it

The whole codebase is on GitLab. Fork it, run your own fork, send merge requests, change the colors, replace Claude with your own LLM. It's yours.

Bring your own AI

Want the AI assistant? Drop in an Anthropic or OpenAI API key in the admin UI (or set an env var instance-wide). Voice-to-text? Point it at OpenAI Whisper or a self-hosted faster-whisper.

What you need

  • A Linux server with Docker — a VPS, mini-PC, NAS or Raspberry Pi 4/5 (or a Kubernetes cluster, if you already run one)
  • About 2 GB of RAM — FamilyHub itself is small; PostgreSQL is the heaviest component
  • A domain pointing at the server, with ports 80 and 443 open — HTTPS is set up for you. No domain? It runs on your home network too, just without voice input
  • Optional: an Anthropic or OpenAI API key for the AI assistant — or your own local model

Installed with a single command

The Docker Compose file in the repo starts everything in one go: the app, the API, PostgreSQL, Radicale (CalDAV) and Caddy, which gets your HTTPS certificate automatically. Copy .env.example to .env, fill in your domain and two secrets, run `docker compose up -d`, and open your domain to create the first super admin.

git clone https://gitlab.com/yvanpersonal/familyhub.git
cd familyhub
cp .env.example .env   # then fill in your domain + two secrets
docker compose up -d
Read the install guide

Hosted vs self-hosted — what actually differs

The feature set is identical. These are the only operational differences:

HostedSelf-hosted
Who runs itWe doYou do
Updates and backupsAutomaticYou schedule them
AI assistantIncluded on Full planBring your own API key
Payment flowsStripe-backed, trial includedNot present — no billing UI
SupportPriority emailCommunity (GitLab issues)
CostMonthly or yearlyFree, but your time

Start self-hosted, switch later (or the reverse)

The database schema is the same in both modes. Setting FAMILYHUB_PAYMENT_ENABLED=true on a self-hosted instance wakes up the payment module — existing families show as FREE, new trials work normally. Going the other way, export your data from the hosted version anytime.