Warning
Mitra is early and moving fast. Expect rough edges and breaking changes before 1.0.
Most tools make you choose: a calendar for your time, or a to-do app for your tasks. Mitra puts both on one timeline, so you plan your day in one place. It's built to be yours: self-hosted, private, and connected to the accounts you already have instead of replacing them.
- Events and tasks together: on one timeline, in week, month, year, timeline and table views. Create anything by dragging, whether timed, multi-day or all-day.
- Works with the calendars you already use: CalDAV accounts (events and tasks), Google Calendar, Apple Calendar and Notion task databases sync in the background, and more integrations are coming.
- Reminders: sent as push notifications, even when no tab is open.
- Invitations: add a guest list to any entry and see the replies come in. Your calendar account sends the invitations.
- Your look: per-calendar colours, light and dark themes, and full right-to-left support.
- Self-hosted and private: one small container with a database you own and can back up in seconds.
# 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' # the public URL users reach Mitra atdocker compose up -d # → http://localhost:3000Out of the box Mitra runs single-user with no login. Everything you create is stored in the ~/mitra directory, so backing that up backs up everything.
From here, the documentation covers configuration, connecting your calendars (CalDAV, Google, Apple, Notion), multi-user sign-in and everything else. You can also read it as Markdown in docs/.
Issues and pull requests are welcome.