TiloBox
Back to directory
Trilium Notes project preview

Trilium Notes

Hierarchical note taking application with personal knowledge base and link graph visualization.

LicenseAGPL-3.0
GitHub stars25.5k
Last commit1 years ago
Tags6 topics
NodejsNotesKnowledge BaseSelf HostedPkmHierarchical
Overview

Why consider Trilium Notes?

Trilium Notes is a hierarchical note taking app designed for building large personal knowledge bases. It features deeply nested trees, executable scripts, attributes, and graph views.

Guided learning

Learn Trilium Notes by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 10 sections
In this guide10 sections

What is Trilium Notes?

Trilium Notes (maintained by the TriliumNext community) is an open-source hierarchical note-taking application and personal knowledge base built with Node.js and SQLite. It operates as a powerful, self-hosted alternative to proprietary note-taking tools like Evernote, OneNote, and Roam Research.

Trilium is designed for organizing tens of thousands of complex notes into arbitrarily deep hierarchical trees. It treats notes as structured objects: attach custom attributes, create relations and bi-directional links, execute automated JavaScript scripts inside notes, visualize knowledge connections on interactive link graphs, and sync data end-to-end encrypted between desktop and server instances.

Who Is It For?

  • Researchers & Knowledge Workers: Building massive, structured Personal Knowledge Management (PKM) databases and digital second brains.
  • Software Developers: Storing searchable code snippets, technical architecture diagrams, and executable automation scripts.
  • Privacy Advocates: Keeping personal journals, credentials, and notes on self-hosted servers with strong per-note encryption.

Key Features

  • Deep hierarchical note tree: Organize notes without depth limitations; clone single notes into multiple tree locations without duplication.
  • Rich note types: Formatted text (CKEditor), Markdown, Code snippets with syntax highlighting, Mermaid/PlantUML diagrams, and canvas drawings.
  • Interactive link graph visualizer: Explore semantic relationships and bidirectional connections between notes.
  • Scripting & Automation engine: Execute server-side or frontend JavaScript scripts to automate note tagging, backups, and task summaries.
  • End-to-end sync: Encrypted synchronization between self-hosted server instances and standalone desktop clients (Linux, macOS, Windows).

Deploying Trilium Server with Docker

yaml
1version: '3'
2
3services:
4 trilium:
5 image: triliumnext/notes:latest
6 container_name: trilium
7 restart: unless-stopped
8 ports:
9 - "8080:8080"
10 environment:
11 - TRILIUM_DATA_DIR=/home/node/trilium-data
12 volumes:
13 - ./trilium_data:/home/node/trilium-data

Start the instance:

bash
1docker compose up -d

Open http://localhost:8080 in your browser, select "I am a new user", and create your master password.

Practical Use Cases

1. Developer Code Snippet & Algorithm Library

A developer stores reusable code snippets across 10 programming languages, tagging entries with custom attributes (#language=rust, #framework=tokio) for instant filtering.

2. Automated Daily Journal Logging

A user configures Trilium's built-in Journal feature to auto-generate structured daily note templates containing habit trackers and to-do checklists every morning.

3. Visual Concept Mapping & Second Brain

A researcher links interconnected concepts using @note mentions, using the interactive Link Graph to discover unlinked concept clusters.

Troubleshooting and Limitations

  • Desktop to Server Sync Setup: When syncing a desktop client with your server, enter your server URL and authenticate with your master password under Options -> Sync.
  • SQLite Database Optimization: Trilium stores all data in a single SQLite file (document.db); perform periodic database vacuuming under Options -> Advanced to maintain peak search performance.

Official Resources

Related tools

More options with a similar category or technology profile.

Trilium Notes FAQs

Trilium Notes is listed as a Productivity tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Trilium Notes is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Trilium Notes is listed as an alternative to Obsidian. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.