Cómo instalar Mitra en Docker - Calendario y tareas en una sola línea de tiempo

Mitra | Calendario | Tareas | Docker | Self-hosted | AGPL-3.0

Mitra en Docker: calendario y tareas en una sola línea de tiempo, en tu propio servidor


Mitra pone eventos y tareas en la misma línea de tiempo, para que veas cuándo tienes hueco de verdad para hacer algo. Es un contenedor pequeño con una base de datos que controlas tú, y se puede sincronizar con los calendarios que ya usas.

Vídeo tutorial en YouTube

Mitra


Mira el vídeo completo sobre cómo instalar y usar Mitra en Docker en el canal GENBYTE:

¿Qué es Mitra?

Mitra es un calendario autohospedado con tareas integradas. Según su README, la idea es que no tengas que elegir entre un calendario para tu tiempo y una app de tareas para lo que tienes que hacer: los dos viven en la misma línea de tiempo y ves cuándo tienes hueco de verdad.

Tiene licencia AGPL-3.0, no envía telemetría y se puede sincronizar por CalDAV, Google Calendar, Apple Calendar, Notion, Todoist o Tempo, o usar sus propios calendarios sin cuenta externa.

Proyecto en fase temprana: el propio README avisa de que el proyecto se mueve rápido, de que puede haber fallos y de que habrá cambios incompatibles antes de la versión 1.0. Ten copias de seguridad de la carpeta de datos y actualiza con cuidado.


Características principales

Eventos y tareas juntos

Vistas de semana, mes, año, línea de tiempo y tabla. Arrastra para crear, mover o redimensionar.

Planificación

Las tareas sin fecha esperan en la pestaña de planificación hasta que las arrastras a tu semana.

Sincronización bidireccional

CalDAV, Google Calendar, Apple Calendar, Notion, Todoist y Tempo. Los calendarios publicados entran como suscripciones de solo lectura.

Subtareas y dependencias

Disponibilidad, archivos adjuntos, recordatorios push e invitados con respuestas.

Conexión con IA

Claude, Cursor y otras herramientas pueden leer y planificar tus calendarios mediante MCP.

Idiomas y temas

Ocho idiomas, incluido el de derecha a izquierda, y temas claro y oscuro.

Requisitos del sistema

  • Docker y Docker Compose
  • Puerto 3000 libre en el host
  • Una carpeta en tu servidor para los datos, por ejemplo ~/mitra
  • Opcional: un dominio con HTTPS si quieres usarla desde fuera de casa

Instalación con Docker Compose

Paso 1: crea el compose.yaml

# Basado en el compose del README oficial services: mitra: image: ghcr.io/a11delavar/mitra:latest restart: unless-stopped ports: - '3000:3000' environment: # Zona horaria que usa Mitra para mostrar las fechas TZ: 'Europe/Madrid' # Descomenta cuando tengas una dirección pública # MITRA_URL: 'https://mitra.tudominio.com' volumes: # Todo lo que guarda Mitra está en esta carpeta - ~/mitra:/app/data
Versiones: latest es la versión estable más reciente. Si prefieres controlar las actualizaciones, puedes fijar una etiqueta como 1 (versión mayor 1) o 1.4.2. La etiqueta dev sigue la rama principal y solo es para pruebas.

Paso 2: arranca Mitra

docker compose up -d # Comprueba que el contenedor pasa el healthcheck docker compose ps

Paso 3: abre la aplicación

Entra en http://localhost:3000. Fuera de la caja, Mitra es para una sola persona y no pide inicio de sesión. Para varias personas, la documentación oficial explica cómo activarlo.

Acceder a Mitra

Desde el propio servidor: http://localhost:3000
Desde otro dispositivo de tu red: http://IP_DEL_SERVIDOR:3000

Primeros pasos

  1. Crea tu primer calendario desde la aplicación.
  2. Conecta tus cuentas si quieres sincronizar con otro servicio.
  3. Empieza por una tarea sin fecha en la pestaña de planificación.
  4. Haz una copia de la carpeta ~/mitra: con eso tienes todo tu contenido.

Casos de uso

  • Planificación personal: ver de un vistazo eventos y tareas en la misma semana.
  • Familia: calendario compartido con varias personas, cuando actives el inicio de sesión.
  • Asistentes de IA: dejar que Claude o Cursor lean y organicen tu agenda por MCP.

Configuración avanzada

Dirección pública

Cuando tengas un dominio, pon la dirección en MITRA_URL. El README lo deja comentado en el ejemplo, así que es una línea que descomentas.

Puerto interno

Si cambias el puerto interno con MITRA_PORT, el healthcheck del contenedor lo usa automáticamente. Recuerda ajustar también el mapeo de puertos.

Copias de seguridad: la base de datos SQLite está dentro de ~/mitra. Haz la copia con el contenedor parado, o con una herramienta que copie la base de datos de forma consistente, para no guardar un fichero a medio escribir.

Gestión y mantenimiento

Ver logs

docker compose logs -f mitra

Actualizar

docker compose pull docker compose up -d

Detener Mitra

docker compose down

Stack técnico

  • Runtime: Node.js 26 sobre node:26-bookworm-slim, con build multietapa
  • Base de datos: SQLite dentro de /app/data
  • Healthcheck: comprobación de /api/health cada 30 segundos
  • Imagen: ghcr.io/a11delavar/mitra
  • Licencia: AGPL-3.0-only

Comentarios

Entradas populares de este blog

Solución al error: «user is not in the sudoers file» en Debian

NAS SYNOLOGY DSM 7.1 en VMware ESXI - Guía instalación y configuración Synology DSM 7.1 en VMWARE

Multisesión RDP en Windows 10 Pro