Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

calnode

Calnode es un motor de agendamiento self-hostable en Go con base de datos SQLite y API-first, diseñado como alternativa a Calendly para entornos donde los agentes o IA gestionan las citas. Es una aplicación monolítica en un solo binario que incluye videoconferencias, grabación y notas por IA.

Ficha actualizada 23 sept 2026, 16:08 · upstream 23 sept 2026, 16:01 · release v0.9.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es calnode

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

Calnode es una herramienta de agendamiento estilo Calendly, construida con Go puro y SQLite, sin dependencias externas como Redis ni Postgres. Se ejecuta como un único binario estático, lo que la hace ideal para despliegues en VPS pequeños o entornos donde el costo del hosting es crítico. Su arquitectura API-first permite conectar agentes de IA (como Claude) a través de webhooks y MCP tools sin necesidad de una interfaz gráfica compleja.

La aplicación soporta múltiples eventos tipo, gestión de disponibilidad por equipos, integración nativa con Google Calendar y Microsoft 365/Outlook, así como un sistema de invitaciones por correo electrónico. Además, Calnode incluye un servidor MCP (Model Context Protocol) nativo que permite a agentes externos consultar el calendario directamente.

Un punto destacado es su enfoque en la privacidad: los datos están almacenados localmente en SQLite y se pueden recuperar mediante una clave de recuperación secreta. Esto lo convierte en una alternativa viable para organizaciones que no desean depender de servicios SaaS como Google Calendar o Microsoft 365.

CASOS DE USO
  • Gestionar citas con IA: Agregar un agente como Claude a la lista de agentes y configurar webhooks para recibir eventos automáticamente
  • Videoconferencias en tiempo real: Usar LiveKit integrado para tener reuniones virtuales sin necesidad de una aplicación externa ni cuenta adicional
  • Agendamiento por chat: Permitir que los visitantes reserven citas directamente mediante un asistente conversacional en la página de reservas
  • Gestión de equipos: Definir roles (admin, miembro) y asignar eventos a equipos específicos con rutas fijas o aleatorias
  • Integración con CRM: Configurar webhooks para sincronizar los eventos calnode con herramientas como HubSpot, Salesforce o n8n
  • Reservas pagas: Implementar pasarelas de pago como Stripe Checkout que reservan el slot antes del pago y lo confirmen tras la transacción
  • Agendamiento en múltiples idiomas: Soportar 9 idiomas para los formularios de reserva y las notificaciones, con soporte multilingüe en los emails
PUNTOS DESTACADOS
  • Arquitectura monolítica en un único binario Go que reduce la complejidad operativa y el costo de despliegue
  • Base de datos SQLite con WAL (Write-Ahead Logging) para transacciones acústicas, permitiendo resubmitir eventos sin perder datos
  • Soporte nativo de Google Calendar y Microsoft 365/Outlook como proveedores de disponibilidad real
  • Servidor MCP integrado que permite a agentes externos consultar el calendario con herramientas first-class
  • Videoconferencias en tiempo real vía LiveKit con grabación automática al bucket de almacenamiento propio (Litestream)
  • Sistema de invitaciones por correo electrónico con diseño responsivo y soporte para múltiples idiomas
PRECAUCIONES
  • La base de datos SQLite no soporta transacciones ACID a nivel de banco de datos, lo que puede causar inconsistencias en operaciones concurrentes intensivas
  • El videoconferencia requiere un endpoint externo de LiveKit (Cloud o self-hosted), limitando la flexibilidad si se desea usar en entornos aislados sin infraestructura externa
  • La integración con Google Calendar y Microsoft 365 depende de que el proveedor de calendario tenga API key habilitada, lo cual puede requerir permisos adicionales
  • El sistema de pagos con Stripe Checkout requiere configuración adicional (webhooks, configuraciones de seguridad) además del binario base
  • La conversión de notas por IA es un servicio externo separado y no está integrado directamente en el flujo de agendamiento
01

Perfil de infraestructura

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

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

Despliegue detectado

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

Docker detectado

Para desplegar Calnode, se recomienda usar Docker con la imagen oficial `ghcr.io/calnode/calnode:latest`. Se deben configurar variables de entorno como `BASE_URL` para redirigir al frontend, una clave de encriptación secreta (`CALNODE_ENCRYPTION_KEY`) y un secreto de recuperación. La base de datos se almacena localmente en el contenedor con la ruta `/data/calnode.db`, lo que permite mantenerla aislada del sistema operativo. Se recomienda usar `:0.1` como versión para parches menores o `:edge` para el main branch. Para producción, se debe implementar un proxy TLS (como Nginx) que reenvíe el encabezado Host original y configure HTTPS con certificados válidos. El despliegue en Railway, Render o similar es posible mediante una acción GitHub Actions que ejecuta la imagen Docker y configura los env vars automáticamente.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
PostgreSQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLRedis
PUERTOS
3000
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.