Edi Life OS – Self‑hosted Personal Dashboard with AI‑ready MCP Server
TL;DR
Edi Life OS provides a single self‑hosted dashboard for habits, goals, finance, Kanban and focus, and ships an optional Model Context Protocol (MCP) server that lets AI assistants such as Claude interact with your data via a token‑protected HTTP API.
One dashboard, ten workspaces – everything lives together
Edi Life OS consolidates the fragmented tools most people use (to‑do lists, habit trackers, budgeting spreadsheets, Pomodoro timers, notes) into ten cohesive workspaces that share a single sign‑in and database:
| Workspace | Core capabilities |
|---|---|
| Overview | Live productivity score, habit trends, goal progress, finances, weather forecast |
| Growth | Six life dimensions linked to long‑term and SMART goals, with weekly/monthly/quarterly reviews |
| Focus | Pomodoro timer, break scheduling, focus soundtrack, session history |
| Finance | Income, expenses, budgets, debts/credits in Toman, ledger view |
| Habittify | Daily habit checklist, streak tracking, 7‑day consistency chart |
| Kanban | Drag‑and‑drop cards, labels, priorities, due dates, checklists, comments, attachments |
| Calendar | Unified view of card due dates and financial dues |
| Goals | SMART goals with measures, deadlines, priorities, optional habit‑driven progress |
| Notepad | Markdown notes with live preview and export |
| Notes | Sticky notes with colors, fonts and connections |
All data is stored in your own MySQL database; no third‑party SaaS, no tracking, and you retain full ownership.
AI‑ready MCP server expands the dashboard’s reach
The optional MCP server (requires Node.js 22.9+) exposes 26 tools that map directly to dashboard actions. An AI client can issue plain‑language commands such as:
"Show me my LifeOS dashboard."
"Create a SMART goal called Build a home studio, due in three months, and add Buy acoustic panels as a task."
"Mark Reading complete for today."
"Log a 450,000 Toman food expense and show my balance."
The MCP server communicates with the PHP app only through a bearer‑token‑protected HTTP API; it never accesses the raw database or credentials. This design keeps the AI integration lightweight while preserving data privacy.
Deployment options – Docker, shared hosting, or local PHP
Edi Life OS can be installed in three straightforward ways:
- Docker (recommended) – Clone the repo, copy
.env.exampleto.env, and rundocker compose up -d. Each component (MySQL, app, attachments) lives in its own Docker volume, enabling painless upgrades withdocker compose up -d --build. - Shared hosting – Download the latest zip release, extract to
public_html/, configureconfig.phpwith MySQL credentials, and follow the deployment guide for Apache rewrites. - Local PHP server – With PHP 8.1+ (pdo_mysql, mbstring) and MySQL 8+ (or MariaDB 10.4+), run
php -S localhost:8000 -t public_html server.php. The database schema is created on first launch.
All three methods keep credentials out of version control (.env and config.php are git‑ignored).
HTTP API – programmatic access to every domain
A private /api/v1 endpoint mirrors the UI functionality. Authentication uses a random 256‑bit bearer token set in config.php (api_token) or via the LIFEOS_API_TOKEN environment variable. Example curl request:
curl -H "Authorization: Bearer $LIFEOS_API_TOKEN" https://your-host/api/v1/dashboard
The API supports CRUD operations for dashboards, goals, tasks, habits, finances and sticky notes, with transaction‑based writes and row‑level locking to avoid race conditions.
Security model – single‑owner focus
Edi Life OS assumes a single user. The API token grants full read/write access; there are no granular scopes or built‑in rate limiting. Deployers should enforce HTTPS, keep tokens out of URLs and logs, and rely on hosting‑layer firewalls for request throttling. Secret notes are hidden from API reads by default but are not encrypted at rest.
Community feedback from Hacker News
The project attracted modest discussion (15 comments, 39 up‑votes). Key takeaways:
@hmyn questioned why the solution isn’t just a Notion template, highlighting the trade‑off between a custom self‑hosted stack and a flexible SaaS workspace.
@ceejayoz warned that the code exhibits “design anti‑patterns” and suggested using Claude to critique it, indicating that the codebase may benefit from a modern architectural review.
@GaiusCoffee praised the idea but felt the execution “leaves a lot to be desired,” echoing concerns about polish and usability.
@onaclov2000 mentioned building a similar system for personal health data, suggesting the platform’s extensibility could serve niche domains.
Overall, the community sees the concept as solid but expects further refinement and perhaps a more contemporary code structure.
When to consider Edi Life OS
- You want a single, self‑hosted place for all personal productivity data.
- You value data ownership and are comfortable managing a MySQL database.
- You plan to integrate an AI assistant that can read/write your dashboard via MCP.
- You prefer a PHP‑centric stack without a heavy JavaScript framework or build pipeline.
If any of these align with your workflow, Edi Life OS offers a ready‑made, MIT‑licensed foundation that you can fork and extend.
Getting started
# Clone and start with Docker (quickest path)
git clone https://github.com/edrisranjbar/lifeos.git && cd lifeos
cp .env.example .env # edit credentials
docker compose up -d
Visit http://localhost:8080, create your first account, and explore the ten workspaces. Enable the MCP server (cd mcp && npm ci && cp .env.example .env && npm start) to connect Claude or any MCP‑compatible client.
License
Edi Life OS is released under the MIT License (© 2026 Edris Ranjbar). You may use, modify, and redistribute it freely.
Sources
Related
- Project
- Project
- Project
- Project
- Project