Trilium Notes: Base de conocimiento personal autoalojada
Aplicación de toma de notas jerárquica multiplataforma para construir grandes bases de conocimiento personales con sincronización, cifrado y scripting.
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Trilium Notes: Base de conocimiento personal autoalojada en el canal GENBYTE:
¿Qué es Trilium Notes: Base de conocimiento personal autoalojada?
Trilium Notes es una aplicación gratuita y de código abierto para la toma de notas jerárquica, diseñada para escalar hasta cientos de miles de notas. Permite organizar la información en árboles de profundidad arbitraria, clonar notas en múltiples ubicaciones y acceder a ellas desde cliente de escritorio, interfaz web o dispositivos móviles. El proyecto nació como fork comunitario (TriliumNext) del repositorio original de Zadam y se distribuye bajo licencia AGPL-3.0.
Características principales
Organización jerárquica y clonación
Las notas se disponen en árboles de profundidad ilimitada; una misma nota puede aparecer en varias ramas mediante clonación sin duplicar contenido.
Editor enriquecido y Markdown
Editor WYSIWYG con tablas, imágenes, fórmulas matemáticas y autoformato Markdown; incluye editor de código con resaltado de sintaxis para decenas de lenguajes.
Tipos de nota especializados
Canvas (Excalidraw), mapas de relaciones, mapas mentales (Mind Elixir), mapas geográficos (Leaflet/GPX), hojas de cálculo y notas de texto.
Cifrado por nota
Cifrado fuerte con granularidad por nota; las notas protegidas requieren contraseña para descifrar su contenido.
Sincronización autoalojada
Servidor de sincronización propio compatible con clientes de escritorio, web y móviles (TriliumDroid, Pocket Trilium, Trinote); versión de sincronización controlada para evitar incompatibilidades.
Scripting y API REST
Motor de scripting interno (ETAPI) y API REST documentada para automatización, atributos personalizados y widgets de usuario.
Interfaz móvil optimizada
Frontend táctil para smartphones y tabletas accesible desde navegador; aplicaciones nativas de terceros para Android e iOS.
Importación y exportación
Importación desde Evernote y Markdown; exportación a Markdown y otros formatos; Web Clipper para capturar contenido web.
Temas y personalización
Tema oscuro integrado, soporte para temas de usuario, botones de barra lateral personalizables y widgets definidos por el usuario.
Métricas y observabilidad
Endpoint de métricas compatible con Prometheus y panel de Grafana incluido para monitorizar uso y rendimiento.
Requisitos del sistema
- Docker y Docker Compose para despliegue en contenedor
- Puerto 8080 disponible en el host (configurable)
- Directorio persistente para datos (trilium-data) con permisos de escritura para UID 1000
- Navegador moderno (Chrome o Firefox últimos) para interfaz web
- Opcional: proxy inverso (Nginx, Traefik, Caddy) para TLS y acceso remoto
Instalación con Docker Compose
Despliegue con Docker Compose
Crea un archivo docker-compose.yml con el siguiente contenido y ejecuta docker-compose up -d. Los datos se almacenan en ./trilium-data relativo al archivo.
trilium:
image: triliumnext/trilium:latest
restart: unless-stopped
ports:
– '8080:8080'
volumes:
– ./trilium-data:/home/node/trilium-data
– /etc/timezone:/etc/timezone:ro
– /etc/localtime:/etc/localtime:ro
# Ejecutar:
# docker-compose up -d
Acceder al proyecto
Interfaz web
Accede a http://localhost:8080 (o http://<IP-host>:8080) tras iniciar el contenedor. La interfaz es casi idéntica a la aplicación de escritorio.
Cliente de escritorio
Descarga el binario para Windows, macOS o Linux desde la página de releases de GitHub; apunta al mismo servidor de sincronización si usas modo servidor.
Dispositivos móviles
Usa el navegador móvil para acceder a la interfaz táctil del servidor, o aplicaciones nativas de terceros: TriliumDroid (Android), Pocket Trilium (Android), Trinote (iOS).
Casos de uso
- Base de conocimiento personal con miles de notas interconectadas
- Wiki privada para documentación técnica, proyectos o investigación
- Gestión de notas de reuniones, tareas y referencias con búsqueda full-text
- Diario cifrado y almacenamiento seguro de información sensible
- Automatización mediante scripts y API REST para integración con flujos de trabajo
- Publicación selectiva de notas en internet mediante función de compartición
- Captura rápida de contenido web con Web Clipper
Configuración avanzada
Versión fija de imagen
Sustituye la etiqueta latest por una versión concreta (ej. v0.106.0) para evitar actualizaciones automáticas no deseadas.
Directorio de datos personalizado
Cambia la ruta del host en el volumen para almacenar los datos en otra ubicación.
– /ruta/absoluta/datos:/home/node/trilium-data
Proxy inverso con TLS
Configura Nginx, Traefik o Caddy delante del contenedor para terminar TLS y exponer en puerto 443; asegura cabeceras X-Forwarded-* para que Trilium genere URLs correctas.
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Autenticación OpenID Connect y TOTP
Habilita proveedores OIDC y autenticación de dos factores (TOTP) desde la interfaz de administración del servidor para login seguro.
Desactivar actualizaciones automáticas del servidor
Recomendado al usar clientes móviles nativos (TriliumDroid, Pocket Trilium) para mantener la versión de sincronización compatible.
Gestión y mantenimiento
Actualización de versión
Modifica la etiqueta de imagen en docker-compose.yml y ejecuta docker-compose pull && docker-compose up -d. Revisa la guía de actualización oficial para migraciones de base de datos.
docker-compose up -d
Copia de seguridad
Realiza backup del directorio trilium-data (contiene base de datos SQLite, adjuntos y configuración). Puede copiarse en caliente gracias a WAL de SQLite, pero se recomienda detener el contenedor para consistencia total.
tar -czf trilium-backup-$(date +%F).tar.gz trilium-data
# Backup en frío (detener servicio)
docker-compose down
tar -czf trilium-backup-$(date +%F).tar.gz trilium-data
docker-compose up -d
Restauración
Detén el contenedor, sustituye el directorio trilium-data por el backup y vuelve a iniciar.
rm -rf trilium-data
tar -xzf trilium-backup-2025-01-15.tar.gz
docker-compose up -d
Métricas y monitorización
Expón el endpoint /metrics (puerto 8080) a Prometheus y usa el dashboard de Grafana incluido en la documentación para alertas de uso de disco, memoria y latencia.
Stack técnico
- TypeScript (frontend y backend)
- Node.js (servidor)
- Electron (cliente de escritorio)
- SQLite (base de datos embebida)
- CKEditor 5 (editor WYSIWYG)
- CodeMirror (editor de código)
- Excalidraw (canvas)
- Mind Elixir (mapas mentales)
- Leaflet (mapas geográficos)
- Tabulator (tablas interactivas)
- FancyTree (árbol de navegación)
- jsPlumb (mapas de relaciones)
- Docker (despliegue)
- pnpm (gestor de paquetes)
- Vite (bundler)
- Vitest (testing)
Referencias oficiales
- Repositorio oficial GitHub: https://github.com/TriliumNext/Trilium
- Documentación oficial: https://docs.triliumnotes.org/
- Guía de instalación con Docker: https://docs.triliumnotes.org/user-guide/setup/server/installation/docker
- Guía de actualización: https://docs.triliumnotes.org/user-guide/setup/upgrading
- Imagen Docker Hub: https://hub.docker.com/r/triliumnext/trilium
- Comunidad Matrix: https://matrix.to/#/#triliumnext:matrix.org
- GitHub Discussions: https://github.com/TriliumNext/Trilium/discussions
- Awesome Trilium (recursos de terceros): https://github.com/Nriver/awesome-trilium
- TriliumRocks! (tutoriales y guías): https://trilium.rocks/
- Licencia AGPL-3.0: https://www.gnu.org/licenses/agpl-3.0.html
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
