The open-source, self-hosted family organizer
Keep full control of your family's data β run it on your own server.
|
|
|
| Meal planner | Family | Weekly planning |
|---|---|---|
|
|
|
|
## π Third-party integrations
Connect OpenFamily to your self-hosted ecosystem in one click β no config files to edit.
| App | Type | What is synced |
|---|---|---|
| **Mealie** | π² Recipes | Automatic import of all recipes (pagination, API v1 & v2) |
| **Tandoor** | πΏ Recipes | Import via the Django REST API |
| **Home Assistant** | π Shopping | Shopping-list sync over WebSocket (modern `todo` entities + legacy) |
| **Grocy** | π₯¦ Shopping & stock | Shopping list and stock synchronization |
| **Nextcloud** | βοΈ Calendar | CalDAV import with auto-discovery and per-UID deduplication |
> π¬ Thanks to **[Makernix](https://www.youtube.com/@Makernix)** β the idea of connecting
> OpenFamily to the self-hosted family ecosystem (Mealie, Grocy, Home Assistant, Nextcloud)
> emerged from a direct exchange with him.
## π Quick start
### πͺ Windows installer (.exe) β the easiest path
For Windows users, **NexaFlow** provides an all-in-one graphical installer: Node.js and
PostgreSQL are bundled β **no Docker, no configuration** required.
Run `OpenFamily-Setup.exe`, click **Start**, and the app opens at http://localhost:3000.
The window also shows your local network address so you can open it from a phone on the same
Wi-Fi, and the **Settings** tab explains how to set up Tailscale for secure remote access.
### π± Android app (APK)
OpenFamily also has a native **Android app** β a thin client that connects to **your own**
server (you enter its address on first launch, just like the Nextcloud or Home Assistant
apps). It hosts nothing itself.
Install the APK, allow installs from unknown sources when prompted, open the app and enter
your server URL (e.g. `http://192.168.1.10:3001`, or your HTTPS / Tailscale address).
> π **Stay up to date automatically:** add the repo to
> **[Obtainium](https://github.com/ImranR98/Obtainium)** to receive app updates straight from
> GitHub Releases β no app store required.
### π³ Docker (recommended for a server)
```bash
cp .env.example .env # edit your settings
docker-compose up -d --build
```
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
Verify the stack end-to-end:
```bash
npm run smoke:api
```
### π οΈ Manual install
```bash
npm run install:all
psql -U postgres -c "CREATE DATABASE openfamily;"
psql -U postgres -d openfamily -f server/schema.sql
cp .env.example .env
npm run dev
```
- Frontend: http://localhost:5173 Β· Backend: http://localhost:3001
## π Why OpenFamily?
| | OpenFamily | Cozi / FamilyWall |
|---|---|---|
| Your data on your server | β
| β |
| Open source (AGPL-3.0) | β
| β |
| No ads, no tracking | β
| β |
| Self-hosted integrations (Mealie, Grocy, Home Assistantβ¦) | β
| β |
| Works offline (PWA) | β
| β οΈ |
## π§° Tech stack
**Frontend** β React 19 Β· TypeScript Β· Vite 7 Β· TailwindCSS Β· Radix UI Β· i18next Β· PWA (service worker, web push, offline)
**Backend** β Node.js 20 Β· Express Β· PostgreSQL 16 (auto-migration) Β· WebSocket Β· Web Push (VAPID) Β· JWT + bcrypt 12 Β· helmet Β· rate limiting
**DevOps** β Docker Compose (postgres, server, client/nginx) Β· GitHub Actions (CI + Docker publish to ghcr.io + GitHub Pages demo)
## π Security
JWT auth (7 days, auto refresh) Β· passwords hashed with **bcrypt (cost 12)** Β· secure HTTP
headers via **helmet** Β· rate limiting on auth endpoints Β· strict configurable CORS Β·
server-side input validation Β· structured logs (no sensitive data).
## πΊοΈ Roadmap
Planned features and design decisions live in [ROADMAP.md](ROADMAP.md).
## π€ Contributing
Contributions are welcome! Open an [issue](https://github.com/NexaFlowFrance/OpenFamily/issues)
or a [pull request](https://github.com/NexaFlowFrance/OpenFamily/pulls).
## π License
GNU Affero General Public License v3.0 (AGPL-3.0-only) β see [licence.md](licence.md).
## π Credits
Built and maintained by [NexaFlow France](https://nexaflow.fr).
This project embraces the open-source philosophy and encourages sharing and community
contribution.