Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

google-calendar-sync

Sincronizador auto-alojado de Google Calendar con arquitectura source-authoritative, privacidad primero y reglas direccionales entre identidades. Pre-alpha, requiere Docker Compose.

Ficha actualizada 28 sept 2026, 13:47 · upstream 28 sept 2026, 13:42 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es google-calendar-sync

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Google Calendar Sync es una herramienta de sincronización de calendarios auto-alojada que opera como autoridad en la fuente, permitiendo definir reglas direccionales desde un calendario origen hacia uno destino, incluso cuando pertenecen a diferentes identidades de Google. El proyecto prioriza la privacidad al no copiar invitaciones, asistentes, datos de conferencia ni adjuntos por defecto, manteniendo solo una proyección Busy o con detalles opt-in.

La arquitectura es modular monolítica con FastAPI en Python 3.12 para el backend y React/Next.js para el frontend. Utiliza SQLite como base de datos persistente, soporte Docker Compose para despliegue simplificado, y mecanismos de reconciliación diaria con detección de drift entre lo esperado y lo actual. El sistema incluye prevención de bucles mediante metadata de origen gestionado.

El proyecto está en fase pre-alpha sin pruebas de resistencia con cuentas reales ni revisión de producción. Requiere configuración manual de OAuth 2.0 en Google Cloud, generación de master key criptográfica y uso exclusivo con calendarios de prueba hasta completar testing de endurecimiento.

CASOS DE USO
  • Sincronizar disponibilidad entre calendario personal y laboral sin compartir acceso amplio
  • Proyectar eventos desde múltiples identidades de Google hacia un destino centralizado
  • Mantener sincronización incremental con polling cada cinco minutos y comandos Sync Now
  • Auditar cambios mediante vista de actividad autenticada y reportes de drift
  • Gestionar reglas direccionales específicas sin depender de servicios coordinadores externos
PUNTOS DESTACADOS
  • Privacidad por diseño: no copia invitaciones, attendees ni datos de conferencia por defecto
  • Prevención de bucles mediante metadata de origen gestionado y fingerprint irreversibles
  • Reconciliación diaria con preview side-effect-free antes de activar reglas
  • Arquitectura modular con SQLite, FastAPI y React sin dependencias externas obligatorias
  • Soporte Docker Compose para linux/amd64 y linux/arm64 en una sola imagen
PRECAUCIONES
  • Pre-alpha: no ha pasado testing de resistencia con cuentas reales ni revisión de producción
  • Recurrent events excluded for now según capacidades actuales documentadas
  • Solo Google Calendar soportado en release inicial, Outlook y CalDAV son posibilidades arquitectónicas no implementadas
  • Master key criptográfica irreversible: perderla hace inaccesibles las credenciales almacenadas
  • Requiere configuración manual de OAuth 2.0 con redirect URI exacto registrado en Google Cloud
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Despliegue con Docker Compose en linux/amd64 o arm64. Requiere Google Cloud project con Calendar API habilitada, OAuth 2.0 Client ID y secret generados. Configurar CALENDAR_SYNC_MASTER_KEY (32 bytes base64) antes de iniciar para cifrar credenciales. Usar HTTPS en producción con CALENDAR_SYNC_SECURE_COOKIES=true. Backup obligatorio del volumen /data/calendar-sync.db y del master key separado. No conectar calendarios importantes hasta completar testing. Verificar salud con curl http://localhost:8000/health.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactNode.jsFastAPIPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8000587
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.