Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
a11delavar/mitra: One calendar to plan your events and tasks

a11delavar/mitra: One calendar to plan your events and tasks

6 hours ago

Mitra

Mitra

One calendar to plan your events and tasks

CI</a> License: AGPL v3</a> Image: ghcr.io</a> Docs</a> Demo</a>



Mitra's week view, with events and tasks side by side

[!WARNING]
> Mitra is early and moving fast. Expect rough edges and breaking changes before 1.0.

Why Mitra

Most tools make you choose between a calendar for your time and a to-do app for your tasks. Mitra puts both on one timeline, so you can see when there's actually room to get things done. It runs on your own server, keeps calendars itself if you like, and connects to the ones you already have.

Want to look around first? Try the demo: you get a calendar of your own with sample entries, and nothing to install.

Features

  • Events and tasks on one timeline, in week, month, year, timeline and table views. Drag to create, move and resize anything.
  • Calendars stored in Mitra itself, with no account behind them, or synced both ways with CalDAV, Google Calendar, Apple Calendar, Notion and Tempo. Published calendar feeds come in as read-only subscriptions.
  • Planning: tasks without a date wait in the Planning tab with a due date and an estimate, until you drag them into your week.
  • Availability, subtasks and dependencies, files attached to entries, reminders as push notifications, guest lists with replies, and a command palette for the keyboard.
  • AI connectors: Claude, Cursor and other AI tools can read and plan your calendars over the Model Context Protocol (MCP).
  • Eight languages, right to left included, light and dark themes, and a color for every calendar.
  • One small container with a database you own, no telemetry, and sign-in for several people when you need it.

Get started

# compose.yaml
services:
  mitra:
    image: ghcr.io/a11delavar/mitra:latest
    restart: unless-stopped
    ports:
      - '3000:3000'
    volumes:
      - ~/mitra:/app/data
    # environment:
    #   MITRA_URL: 'https://mitra.example.com' # once Mitra has a public address
docker compose up -d   # → http://localhost:3000

Out of the box, Mitra is for one person and has no sign-in. Everything it stores is in the ~/mitra folder, so backing that up backs up everything.

From here, the documentation covers your first calendar, connecting accounts, sign-in for several people and everything else. You can also read it as Markdown in docs/.

Contributing

Issues and pull requests are welcome.

Chat with me