Skip to content

Repository files navigation

Neiliro on AlternativeToNeiliro on Product Hunt

Neiliro

CI Release Image License Stars

A family hub: tasks, notes, calendar, money and a shared mailbox in one place. Built for a household, not a corporation: one Docker container, one SQLite file, no external services required. Run it yourself on a home machine or a cheap VPS, or let us run it for you at neiliro.com — same code, same file per family.

The core is complete and battle-tested by daily family use: accounts and sign-in (password and Google, with optional two-factor codes), projects and tasks with a kanban board, notes with attachments and wiki-links, a calendar with recurring events, shared lists for the shopping run, a shared family mailbox that turns letters into tasks, search, a home screen you arrange yourself out of widgets, and a money section — accounts with balances, expenses, income, transfers, bank reconciliation, categories, budgets, recurring transactions, receipts. It installs to the home screen as an app and keeps working read-only when the Wi-Fi does not.

What the family writes is encrypted in the browser with a family key the server never holds: the content of notes, tasks, events, list items, money notes, attachments and letters is stored as ciphertext, while dates, amounts and links stay readable so budgets, recurrence and reconciliation keep running on the server. Whoever holds a copy of the database — the operator of a hosted family included — sees who, when and how much, not what was written. The exceptions are deliberate and listed in ADR 0001: a letter is seen once on arrival before it is sealed, a wishlist is public by design, member names stay readable.

A quick look

The Today board: the week's agenda, the month, the money — widgets each household arranges itself

Tasks: projects with a kanban board Calendar: shared and personal, with recurring events
Money: accounts, spending, budgets and recurring payments Notes: markdown with wiki-links and attachments
Mail: the shared household inbox, one click from letter to task Settings: sign-in, two-factor codes, devices and the colour palette

And on a phone, where it is installed to the home screen and the day starts with three one-tap actions:

The phone dashboard: task, expense and note in one tap Money on a phone: accounts stacked, the quick expense form below Tasks on a phone

Why not Notion / Google / Nextcloud?

The most common question in the feedback, in its three variants — answered honestly.

Why not Notion or Obsidian? Those are builders: a blank canvas and blocks, and the family system is yours to design, maintain — and teach to a spouse who never asked for a database course. Neiliro is the opposite trade: an opinionated finished product. Tasks, notes, calendar and money work a particular way out of the box, with the decisions already made. If you enjoy building your own system, a builder will genuinely serve you better; this is for families who want the thing, not the constructor kit.

Why not Google Keep + Calendar? For lists and dates it is honestly fine. The reason this project exists is money: shared accounts, budgets with limits, recurring payments and bank reconciliation are the core here, and no combination of Keep, Calendar and a spreadsheet does that as one coherent thing. There is also a quieter argument: the family archive — finances, receipts, private notes — lives in a SQLite file on your own machine, not in an advertising company's cloud.

Why not Nextcloud? Closest in spirit — self-hosted, your data. But Nextcloud is a platform: an app store, plugins with separate authors and separate bugs, and real administration overhead. Neiliro is one small app: one container, one database file, updates that take a minute. Privacy is structural, not a setting — "private" is enforced server-side per owner, and there is deliberately no admin backdoor to read someone else's notes (see architecture.md).

Quick start

At home, with Docker:

cp .env.example .env
docker compose up -d --build

The hub comes up on http://localhost:8787 and is reachable from other devices on the network by the machine's address. An empty hub offers to create the first account right in the browser — that account becomes the administrator; family members join via single-use invitation links. Data lives outside the project folder (~/.family-hub or the mounted volume), so updating the code never touches it.

Tagged releases publish a prebuilt multi-arch image (amd64 + arm64, so Raspberry Pi works) to GitHub Container Registry — point image: in the compose file at it to skip building:

docker pull ghcr.io/neiliro/neiliro:latest   # or a pinned release: :2.0.1

For development:

npm install
npm run dev

Frontend on http://localhost:5173, API on http://localhost:8787. Vite listens on all interfaces, so tablets and phones on the same network can open http://<machine-ip>:5173.

Documentation

  • Deploying to a VPS — from a blank Ubuntu machine to https://hub.example.com: server hardening, launch, backups, Google sign-in, a public demo, auto-deploy from GitHub.
  • Running on a home server — HTTPS on the local network, the .local name and Bonjour, updating, backups, moving to another machine.
  • Features — the walkthrough: accounts and invitations, tasks, notes, calendar, search, and the money section with its semantics (reconciliation, budgets, recurring payments).
  • Family mail — connecting the shared household mailbox: a dedicated account or a corner of a personal Gmail behind a label.
  • Architecture — the technical decisions: SQLite and migrations, local wall-clock time, money as integers, logging, how the demo sandboxes work.
  • ADR 0001 — client-side encryption — why the words are encrypted and the structure is not, what the family key is, and the honest list of what stays visible.
  • Checking the app you were served — the published hashes of every release bundle, how to compare them with what your browser loaded, and how to rebuild the list from the tag yourself.

Hosted

The same image with HOSTED_MODE=true runs neiliro.com: one subdomain and one SQLite file per family, nothing shared between families. A family signs itself up from the landing page, gets 30 days free without a card, then pays €4.99 a month or €44.99 a year; the self-hosted version is free for good and ships from the same tag. The control plane (Caddy with a wildcard certificate, backups, the operator runbook) lives in a separate repository and is not needed to run the hub at home.

Demo mode

DEMO_MODE=true turns the hub into a public sandbox where every visitor gets a private throwaway copy of a seeded sample family — one button to enter, no password, self-cleaning. Details in architecture.md; deployment next to a production hub in deploy-vps.md.

Roadmap

The roadmap lives where you can see and influence it:

  • Roadmap board — Now / Next / Later at a glance.
  • Releases — what landed and when.
  • Issues — vote with a 👍 on what you want most; that is genuinely how things get prioritized here.

Want to contribute? CONTRIBUTING.md covers running it locally, the house conventions and the invariants worth knowing before you touch the money or the privacy code. Start with a good first issue — they are written to be picked up cold.

Coming up next: CSV bank-statement import, and reading the family mailbox from an ordinary mail app.

License

AGPL-3.0. Run it, change it, share it — but if you offer a modified version to others as a service, its source must be open too.

About

Tasks, notes, calendar, money and mail for your household — one Docker container, one SQLite file per family, words encrypted in the browser. Self-host it or use neiliro.com

Topics

Resources

Contributing

Stars

45 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages