Ulas d68226d11e fix: timezone-aware CalDAV sync and English as i18n fallback (#43)
- Apple CalDAV: ICS events with TZID parameter are now converted to UTC
  using the Intl API instead of being stored as floating local time,
  fixing wrong start times for events synced from iOS Calendar
- i18n: fallback language for unsupported browser locales changed from
  German to English
2026-04-13 09:20:27 +02:00
2026-04-05 13:39:59 +02:00
2026-03-24 13:46:15 +01:00

Oikos

Oikos

Self-hosted family planner for small households

Tasks · Shopping Lists · Meal Planning · Calendar Sync · Budget · Notes · Contacts

MIT License Latest Release Docker Image Node.js PRs Welcome


Dashboard Tasks Meals

Toggle GitHub light/dark mode to see both themes.

Highlights

Task Management: Shared tasks with deadlines, priorities, subtasks, recurring schedules, Kanban view with one-tap status buttons for touch devices

Shopping Lists: Collaborative lists with aisle categories and one-click import from meal plans

Meal Planning: Weekly drag-and-drop planner with ingredient lists and shopping export

Calendar Sync: Two-way sync with Google Calendar (OAuth) and Apple iCloud (CalDAV)

Budget Tracking: Income and expenses, recurring entries, configurable currency (13 currencies), monthly trends, CSV export

Notes & Contacts: Colored sticky notes with Markdown, contact directory with vCard import/export

Zero Build Step: Pure ES modules, no bundler, no transpiler, no framework. Ships what you write.

Privacy First: SQLCipher AES-256 encrypted database, fully self-hosted, zero telemetry

PWA Native Feel: Installable on any device, works offline, dark mode, responsive from phone to desktop

Multilingual: German, English, Italian, and Swedish UI with automatic locale detection

Quick Start

Option A — pre-built image (fastest, no clone required):

curl -O https://raw.githubusercontent.com/ulsklyc/oikos/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/ulsklyc/oikos/main/.env.example
cp .env.example .env     # edit .env — set SESSION_SECRET and DB_ENCRYPTION_KEY
docker compose up -d
docker compose exec oikos node setup.js

Option B — build from source:

git clone https://github.com/ulsklyc/oikos.git && cd oikos
cp .env.example .env     # edit .env — set SESSION_SECRET and DB_ENCRYPTION_KEY
docker compose up -d --build
docker compose exec oikos node setup.js

Then open http://localhost:3000 and log in with the admin credentials you set in the previous step. Add family members from Settings.

New to Docker? The Installation Guide walks you through every step: From installing Docker to HTTPS setup, backups, and troubleshooting.

Tech Stack

Express SQLite Vanilla JS CSS Docker PWA

Documentation

Installation Spec & Data Model Contributing Security Changelog Backlog

License

MIT License

Built with care for families who value privacy and simplicity.
S
Description
Friborg-maintained Oikos core mirror/branch stack for upstreamable modular home-planning work
Readme 112 MiB
Languages
JavaScript 76.9%
CSS 17.5%
HTML 4.9%
Shell 0.7%