Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

notabula

Notabula es una aplicación de notas auto-alojada inspirada en iOS Notes, con edición WYSIWYG en vivo, sincronización offline-first vía PWA y cifrado de extremo a extremo para notas bloqueadas.

Ficha actualizada 25 sept 2026, 12:55 · upstream 25 sept 2026, 12:51 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es notabula

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

Notabula es una aplicación de notas auto-alojada diseñada para funcionar como un reemplazo seguro de servicios en la nube, modelada tras la experiencia de usuario de iOS Notes. La arquitectura combina un backend asíncrono en FastAPI con PostgreSQL 16 y una interfaz frontend en React 19 con TypeScript, compilada como PWA instalable en cualquier dispositivo. El editor utiliza TipTap sobre ProseMirror para ofrecer una experiencia WYSIWYG fluida sin mostrar código fuente, soportando listas, imágenes incrustadas y formato rico.

La aplicación prioriza la privacidad mediante cifrado asimétrico para notas bloqueadas (PBKDF2 a AES-GCM), donde el servidor solo almacena texto cifrado. La sincronización es offline-first, colando cambios en IndexedDB hasta recuperar la conexión. El sistema de gestión de usuarios permite roles de editor y visualizador, con historial de ediciones y redline a nivel de palabra para resolución de conflictos.

La persistencia de datos garantiza el control total del usuario mediante exportación nativa (ZIP con texto plano + JSON lossless) y backups nocturnos. La licencia AGPL-3.0 asegura que las versiones modificadas usadas como servicios de red deben ofrecer su código fuente a los usuarios, promoviendo la transparencia y la auditoría de seguridad en entornos críticos.

CASOS DE USO
  • Gestión personal de notas con sincronización offline en móviles sin internet
  • Colaboración segura compartiendo carpetas con roles definidos (visualizador/editor)
  • Archivo de enlaces web con previews ricos que se expanden al pasar el cursor
  • Auditoría de contenido mediante exportación completa y restauración desde copias de seguridad
  • Gestión de tareas con listas de verificación, fijado y búsqueda de texto completo
PUNTOS DESTACADOS
  • Editor WYSIWYG en vivo sin mostrar código fuente (TipTap/ProseMirror)
  • Cifrado client-side para notas bloqueadas usando PBKDF2 y AES-GCM
  • Arquitectura PWA instalable con sincronización offline-first robusta
  • Exportación de datos completa (ZIP) con soporte para texto plano e imágenes
  • Gestión multiusuario con roles granulares y autenticación TOTP opcional
PRECAUCIONES
  • Requiere infraestructura Docker y PostgreSQL 16 preconfigurado
  • Licencia AGPL-3.0 obliga a compartir código fuente en servicios modificados
  • No incluye autenticación OAuth/SSO nativa (solo username/password+TOTP)
  • Dependencia de Nginx para proxy inverso y gestión de rutas estáticas
01

Perfil de infraestructura

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

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

Despliegue detectado

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

Listo para automatizar

Configurar .env con POSTGRES_PASSWORD real antes de iniciar. Ejecutar docker compose up -d --build en el puerto 8200. El backend corre en 8000 y la base de datos en 5433. Construir la PWA previamente o usar imágenes precompiladas para producción. Asegurar Nginx proxying /api y /media. Registrar cuenta admin primero; añadir usuarios desde Settings → Users.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
ReactFastAPIPython
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
8200800051755433
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.