Trilium Notes¶
Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
Description¶
Trilium is a powerful open-source knowledge management tool that allows for deep nesting, scripting, and advanced visualization of relationships between notes.
Where it fits in the stack¶
Category: Service / Knowledge Management
Typical use cases¶
- Building a Personal Knowledge Base (PKB).
- Journaling and daily logs.
- Technical documentation and code snippet management.
Strengths¶
- Extremely flexible hierarchical structure.
- Built-in scripting (JavaScript) and automation.
- Self-hostable with strong sync capabilities.
Limitations¶
- Steeper learning curve compared to simple note apps.
- UI can feel cluttered due to high feature density.
When to use it¶
- When you need more than just flat tags or shallow folders for your notes.
- When you want to automate your knowledge base with scripts.
When not to use it¶
- For quick, ephemeral notes (use a simple scratchpad).
- If you prefer a "polished" SaaS interface over a powerful, local-first tool.
Getting started¶
The easiest way to self-host Trilium is via Docker.
Installation (Docker)¶
docker run -d -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data zadam/trilium:latest
CLI examples¶
Trilium doesn't have an official first-party CLI, but you can interact with its API using curl.
Check health¶
curl http://localhost:8080/api/health
API examples¶
Create a note (Python)¶
import requests
TRILIUM_URL = "http://localhost:8080/api"
API_TOKEN = "your-api-token"
headers = {
"Authorization": API_TOKEN
}
note_data = {
"parentNoteId": "root",
"title": "My New Note",
"type": "text",
"content": "This is a note created via API."
}
response = requests.post(f"{TRILIUM_URL}/notes", json=note_data, headers=headers)
print(response.json())
Related tools / concepts¶
Sources / References¶
Contribution Metadata¶
- Last reviewed: 2026-04-26
- Confidence: high