# 129 — `house` Yuvomi family planner (formerly Oikos). Self-hosted family planner with 14 modules: calendar, tasks, meals, groceries, budget, documents, notes, contacts, birthdays, housekeeping, recipes, reminders. ## At a glance - **Hostname:** `house` - **IP:** `192.168.8.244` - **Host:** **strong** (migrated from hubris 2026-07-05) - **Privilege:** unprivileged - **Resources:** 1 core / 1344 MiB RAM / 8 GiB rootfs (Debian 13) - **Mounts:** none - **Public hostname:** [`house.hubris.network`](../infrastructure/ingress.md) → VPS traefik → Caddy ## Service / port map | Service | Listen | Notes | |---------|--------|-------| | `oikos` (Yuvomi) | `0.0.0.0:3000` | Docker Compose at `/opt/yuvomi/`, image `ghcr.io/ulsklyc/yuvomi` | ## Integrations - **Authentik SSO (OIDC):** Provider `Provider for Yuvomi` (PK 31) in Authentik on VPS. Env vars in `/opt/yuvomi/.env`: `OIDC_ISSUER`, `OIDC_CLIENT_ID`, `OIDC_CLIENT_SECRET`. Redirect URI: `https://house.hubris.network/auth/oidc/callback`. - **Paperless DMS connector (native):** Yuvomi connects directly to Paperless-ngx API at `http://192.168.8.130:8000/`. API token stored in SQLite `dms_accounts` table. Search, link, and upload documents from Yuvomi to Paperless via Settings → Documents → DMS. - **Weather widget:** Open-Meteo (free, no API key). Munich coordinates set. - **Google Calendar:** OAuth configured via env vars (`GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_REDIRECT_URI`). Redirect URI: `https://house.hubris.network/api/v1/calendar/google/callback`. Authorize in Settings → Calendar → Connect Google Calendar. ## Config paths - `/opt/yuvomi/docker-compose.yml` — downloaded from upstream - `/opt/yuvomi/.env` — config including secrets (untracked) - `/opt/yuvomi/data/` — SQLCipher SQLite DB (`oikos.db`) - `/opt/yuvomi/backups/` — auto backups - `/opt/yuvomi/modules/` — Yuvomi modules (empty for now) ## Related - [Caddy (121)](121-caddy.md) — LAN reverse proxy (`house.hubris.network → 192.168.8.212:3000`) - [VPS ingress](../infrastructure/ingress.md) — public edge (cert mirror + traefik router) - [DNS (107)](107-dns.md) — Technitium A record `house → 192.168.8.175` (LAN path via Caddy) - [Paperless (103)](103-paperless.md) — native DMS connector (API at `:8000`) - [TRMNL (128)](128-trmnl.md) — Google Calendar tokens source - [Deployment plan](../../../plans/done/2026-06-25-yuvomi-deployment.md) ## Changelog ### 2026-06-27 — Google Calendar OAuth env vars configured `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_REDIRECT_URI` set in `.env`. New OAuth client ID (`-bho4iq..`). ### 2026-06-26 — provisioned LXC 129 created (Debian 13, unprivileged, `192.168.8.212`). Docker installed. Yuvomi container running on `:3000` from `ghcr.io/ulsklyc/yuvomi:latest`. Caddy block + DNS A record + VPS traefik router `house-public` for public access. Authentik OIDC provider created (PK 31). WebDAV document bridge on paperless LXC (103) at `:8088` for Paperless auto-import.