One private home for everything that keeps a household running.
Tasks, calendar, budget, groceries, meals, health and more - for a family, a couple, or just you. Eighteen modules on a server you own, and the only thing that leaves it is a version check.
→ Install in minutes · Screenshots & tour · Docs · Changelog
18 modules · 24 languages · 0 trackers · optional AES-256 database encryption · MIT
Most households glue their life together from a dozen paid apps, each with its own account, its own subscription and its own copy of your data on someone else's server. Yuvomi puts all of it in one place that belongs to you, running as a container on any home server or NAS. Every module is independent, so you use what fits and switch off what doesn't.
| Instead of juggling… | Yuvomi gives you |
|---|---|
| a to-do & task app | Tasks - Kanban, deadlines, recurring, multi-assignment |
| a shared calendar subscription | Calendar - sync, subscriptions, per-event visibility |
| a cost-splitting app | Shared expenses - shared costs with debt simplification |
| a budgeting app | Budget - income, expenses, accounts, savings goals |
| a meal planner & recipe app | Meals & Recipes - weekly planner with shopping export |
| a grocery-list app | Shopping - shared, aisle-organized lists |
| a pantry & expiry tracker | Pantry - stock, storage location, best-before dates |
| a document manager | Documents - tagged, searchable family files |
| a home-inventory app | Inventory - owned belongings, purchase price, warranty, linked receipts |
| a notes app & contacts sync | Notes & Contacts - Markdown notes, CardDAV sync |
This is the part a folder full of separate apps cannot do:
- The week's meal plan writes the shopping list. Plan Thursday, and the ingredients are on the list before anyone walks to the shop.
- The last jar out of the pantry is already on the list. Tick items off after a shop and they book back into the pantry with their quantity.
- A ticked-off chore pays out. Points on a task land on the assigned member's account, and the reward catalog spends them.
- A filed receipt hangs on the booking. Upload it once and it belongs to the transaction, the shared expense and the inventory item at the same time.
Turn on what your household needs; the rest stays out of the way.
| Module | In one line |
|---|---|
| Tasks | Kanban board with deadlines, priorities, subtasks, tags, recurring schedules and multi-member assignment. Attach documents and discuss a task in comments. |
| Shopping | Shared lists grouped by aisle and ordered to match your shop, with swipe gestures and one-tap import from the meal plan. |
| Meals | Weekly drag-and-drop planner with a recipe sidebar and direct export to the shopping list. |
| Recipes | Create, duplicate and scale recipes, then pre-fill meal slots or send the ingredients to a shopping list. A Mealie or Tandoor instance can be mirrored read-only. |
| Pantry | What is actually in the house: amount, storage location and best-before date, with expiry and low-stock filters. |
| Calendar | Two-way sync with Google and CalDAV, calendar subscriptions, recurring events, holiday overlays and per-event visibility. |
| Documents | Upload, tag, preview and organize family files, with optional WebDAV or Google Drive storage. |
| Inventory | What you own: purchase price, warranty, condition and storage location, with linked receipts and deadline reminders. Off by default; households turn it on. |
| Budget | Income, expenses, accounts, loans, subscriptions and per-category planning, with a personal mode. |
| Housekeeping | Household staff: schedules, check-in/out, daily or hourly billing, chores and supply requests. |
| Rewards | Points on tasks credit the assigned member, with a parent-approved catalog and an auditable ledger. |
| Health | Per-member vitals, medications, labs, activity and cycle tracking, with trend charts. |
| Notes & Contacts | Colored Markdown sticky notes plus a contact directory with CardDAV sync and vCard import/export. |
| Birthdays | Birthday tracker with automatic calendar events, age display and reminders. |
| Family | Member profiles with roles, photos and contact details. New members join through an invite link and pick their own password. |
| Reminders | Reminders on tasks and events via in-app badges, opt-in push, and household Gotify, ntfy or webhook channels. |
| API Tokens | Bearer / X-API-Key tokens with an OpenAPI 3.0 spec and a built-in MCP endpoint for AI agents. Writes are retry-safe via an optional Idempotency-Key header. |
| Backup | Manual and scheduled backup/restore with pre-restore rollback and optional cloud upload. |
Two more things you only get on your own server: wall mode turns the kitchen tablet into a readable-from-across-the-room display, and an Immich screensaver rotates your own photos when the screen goes idle. Every module in full detail is in the spec; building your own drop-in module is covered in the module guide.
- Image -
ghcr.io/ulsklyc/yuvomi:latest, about 500 MB. - Needs - 256 MB RAM and one port, 3000 by default.
- Writes - four volumes you own: data, backups, modules, documents.
- Outbound - one update check against the GitHub releases API, nothing else. Weather, calendar sync and cloud backup stay off until you fill in credentials.
- Your data - one SQLite file at
/data/yuvomi.db. Copying it is the whole export, unless you moved document storage to a folder, WebDAV or Drive; those files then need their own backup.
curl -O https://raw.githubusercontent.com/ulsklyc/yuvomi/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/ulsklyc/yuvomi/main/.env.example
cp .env.example .env
# two values: one for SESSION_SECRET, one for DB_ENCRYPTION_KEY
openssl rand -hex 32
openssl rand -hex 32Now open
.envand replace bothREPLACE_WITH_…placeholders with the two values you just generated. Once a database is encrypted, a lost or changed key never opens it again, not by you and not by us, so write the value down. To run without encryption, clear the line instead of filling it.
docker compose up -dOpen http://localhost:3000. The first visit walks you through creating your admin account.
On Podman, take podman-compose.yml instead of docker-compose.yml above and start it with
podman compose -f podman-compose.yml up -d; it carries the SELinux :Z volume labels that
RHEL, Fedora and CentOS Stream need. Both installers detect Podman on their own.
A setup wizard in your browser, in 24 languages. It detects Docker or Podman, configures HTTPS, single sign-on and scheduled backups, then starts the container and creates your admin account.
git clone https://github.com/ulsklyc/yuvomi.git && cd yuvomi
node tools/installer/install-server.jsOpen http://localhost:8090. Needs Node.js 18+ on the host; the container ships its own Node 22.
TrueNAS SCALE, Umbrel and Unraid all carry Yuvomi: search for it in the app catalog and install, no terminal required. New to containers? The installation guide covers engine setup, HTTPS, backups and troubleshooting step by step.
Worth reading before you go live
Health is not a medical device. No diagnostic claims are made. Health data is sensitive, so enable database encryption (
DB_ENCRYPTION_KEY, SQLCipher).
External document storage needs its own backup. Database backups hold document metadata and links, not binaries stored in a local folder, on WebDAV, or in Google Drive; back up the selected target separately. Yuvomi visibility settings only control access through Yuvomi. Anyone with access to the connected
Yuvomi/DocumentsGoogle Drive folder can view all files stored there.
Internal (LAN / private IP) targets are blocked by default. Server-side request protection rejects private, loopback, link-local and internal-DNS URLs for calendar subscriptions, WebDAV document storage and recipe mirrors. To use an internally-resolving URL, set the matching opt-in in your deployment environment. See the installation guide.
Some catalog slugs still carry the legacy name
oikos(e.g. Unraidoikos-…). The app shows and installs as Yuvomi everywhere; where the technical slug staysoikos, it is kept so existing installations upgrade seamlessly. Search for Yuvomi; if a store still surfaces an entry as oikos, it is the same app.
What if this project stops? Nothing changes on your machine. It is MIT-licensed and self-hosted, there is no server of ours anywhere in the path, and the only thing that leaves your machine is a version check against the GitHub releases API. The container you already pulled keeps running exactly as it does today, with or without us.
What if you want your data somewhere else? Copying one file is the whole export, as long as documents live in the database. Everything else is in that single SQLite file on your own disk. Scheduled backups write a restorable archive on top of that, and the documented API pulls anything out in whatever shape you need.
What does it cost? Nothing. Yuvomi is free and MIT-licensed. You provide the server; there is no subscription, no upsell and no paid tier.
- No build step - pure ES modules and plain CSS. No bundler, no transpiler, no framework, no runtime CDN.
- Apple HIG in the Liquid Glass language - the system font stack and Apple's type scale, capsule controls, inset-grouped lists and spring motion, verified for WCAG AA in light and dark.
- Privacy first - fully self-hosted, optional SQLCipher AES-256 database encryption, zero telemetry.
- Sign-in that scales to a household - optional single sign-on via any OIDC provider, invite links instead of handed-over passwords, and optional self-service password reset by email.
- 24 languages with automatic detection. A separate household setting decides the language of entries Yuvomi creates itself, so an exported calendar speaks your household's language instead of English.
Installation · Spec & data model · Third-party modules · Notification webhooks · Immich screensaver · Contributing · Security · Changelog · Backlog
If you self-host Yuvomi in a GDPR context (EU/EEA, processing other people's data), read privacy for self-hosters before going live. It covers third-country assessments for every external service, data-processing-agreement notes, log-retention guidance and a records-of-processing template.
Coming from Oikos? This project was renamed, and nothing about the app changes.
Yuvomi was renamed from Oikos to avoid a trademark conflict with an unrelated product. Same code, same data, same maintainer.
- Old links (
github.com/ulsklyc/oikos) redirect here automatically. - The Docker image moved to
ghcr.io/ulsklyc/yuvomi; the oldghcr.io/ulsklyc/oikoskeeps working, so update at your convenience. - Existing data and settings are fully preserved on upgrade.
You install it once and it is yours after that. No account with us,
no subscription, and nothing of ours between your household and its data.
→ Install in minutes · Ask a question
MIT licensed, see LICENSE.