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:

  1. Docker (recommended) – Clone the repo, copy .env.example to .env, and run docker compose up -d. Each component (MySQL, app, attachments) lives in its own Docker volume, enabling painless upgrades with docker compose up -d --build.
  2. Shared hosting – Download the latest zip release, extract to public_html/, configure config.php with MySQL credentials, and follow the deployment guide for Apache rewrites.
  3. 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