Why I Still Love Trilium Notes After 1+ Years — and My Upgrade to v105
I have tried a lot of note-taking and knowledge-management tools over the years.
Notion. Obsidian. Evernote. OneNote. And probably several others I have forgotten about.
They all have their strengths, and I still use different tools for different purposes. But a little over a year ago, I started using
Trilium Notes, now actively maintained by the community as TriliumNext, for something very specific: my personal, self-hosted knowledge base. More than a year later, I am still using it every day.
That alone says something.
My setup is fairly simple: I run TriliumNext on my own server using Docker, and I use the desktop application on my
primary workstation. The desktop client synchronizes with my server, giving me a local application when I am sitting at my desk and browser access when I am somewhere else.
Recently, I upgraded my installation from v0.103 to v0.105.
As usual, before touching a system that contains a year’s worth of information, I wanted a good backup and a way back if something went wrong.
Fortunately, the upgrade went very smoothly.
So I thought I would document both why Trilium has stuck with me and how I upgraded my self-hosted installation.
Why Trilium Works for Me
There isn’t one killer feature that keeps me using Trilium. It is really the combination of several things.
The hierarchy just makes sense to me
I like organizing information hierarchically.
Some people love tags. Some people prefer folders. Others want everything connected through links.
I tend to think in trees:
Topic → Subtopic → Project → Information
Trilium handles deep hierarchies extremely well. I can organize
information as deeply as I want without fighting the application.
But one of my favorite features is note cloning.
A note doesn’t necessarily have to live in only one location. The
same note can appear in multiple branches of my knowledge tree without
creating multiple copies of the information.
That sounds like a small thing until you start using it.
Then you wonder why every knowledge-management system doesn’t work
that way.
Desktop +
self-hosted server is a great combination
This is probably my favorite part of the setup.
When I am working at my main computer, I use the desktop client. It is fast, local, and doesn’t feel like I am working inside another browser tab.
Behind the scenes, it synchronizes with my Docker-hosted Trilium server.
That gives me the best of both worlds:
- A desktop application for everyday work
- A self-hosted server as my central knowledge repository
- Browser access when I need it
- Synchronization between them
And because the server is mine, I control where the data lives and how it gets backed up.
That continues to be increasingly important to me.
Moving from v0.103 to v0.105
I had been happily running v0.103 and wasn’t in a tremendous hurry to upgrade.
If something works, I generally don’t upgrade just because a new version number appears.
Eventually, though, the improvements in v0.105 made it worth doing.
There are a number of changes between the versions, but a few stood out to me.
Security gets more attention
One significant change is around backend scripting.
Backend JavaScript inside Trilium can potentially access the underlying file system, so v105 takes a more conservative approach and
disables server-side scripting by default.
If you rely on backend scripts for your own automations, this is something you definitely want to check before upgrading.
There has also been additional hardening around local network ports and integrations such as Model Context Protocol (MCP),
with authentication becoming more explicit.
I like seeing this.
As more of our personal tools begin connecting with AI assistants, agents, APIs, and other applications, these security boundaries are going to become increasingly important.
Better database visibility and backups
Another area that caught my attention was database management.
v105 provides better visibility into the Trilium database, including information about note counts, storage usage, and database
integrity.
There are also tools for understanding what is consuming storage, including attachments and revision history.
Backup capabilities have improved as well, including support for compressed and encrypted .tnbackup backup files.
For an application that may eventually contain years of personal information, backup and recovery aren’t secondary features. They are fundamental.
Some nice UI cleanup
There are also smaller usability improvements.
Attributes such as labels and relations are easier to work with through the dedicated attributes interface, and HTML copy-and-paste behavior has been improved to reduce some of the junk that tends to come along when clipping information from websites.
None of these individually changes how I use Trilium.
Together, however, they make an already-good tool a little better.
How I Upgraded My Docker
Installation
This was the part I was most careful about.
Because I use a server + desktop synchronization model, I didn’t want to update the desktop client first and then discover that it could no longer properly synchronize with my older server.
So my sequence was:
BACKUP → SERVER → VERIFY → DESKTOP → SYNC
Simple.
1. Back everything up first
Before doing anything else, I stopped Trilium:
docker compose down
Then I created a dated ZIP archive of the entire Trilium data directory:
zip -r "trilium_data_backup_$(date +%Y-%m-%d).zip" ./trilium_data
This gave me something like:
trilium_data_backup_2026-09-07.zip
Could I probably have upgraded without doing this?
Sure.
Would I upgrade a knowledge base containing more than a year’s worth of my information without doing it?
Absolutely not.
Storage is cheap. Regret is expensive.
2. Check the Docker
Compose configuration
My Docker Compose configuration is intentionally pretty simple:
services:
trilium:
image: triliumnext/trilium:latest
container_name: trilium_notes
restart: unless-stopped
ports:
- "1088:8080"
:
- ./trilium_data:/home/node/trilium-data
environment:
- TZ=America/Phoenix
The important part for me was confirming that I was using the current stable TriliumNext image rather than pointing at a development build.
3. Pull the new image and
start it
Then it was simply:
docker compose pull
docker compose up -d
But I didn’t immediately upgrade the desktop application.
First I checked the server.
I opened the web interface and made sure Trilium came up normally. I checked that my notes were there, opened several different sections, and made sure the database migration appeared to have completed successfully.
Only after I was comfortable that the server was healthy did I move on.
4. Upgrade the desktop client
With the server successfully running v0.105, I upgraded the desktop client.
It connected to the upgraded server and synchronization started normally.
No drama.
No missing notes.
No strange synchronization problems.
Exactly the kind of upgrade I like.
Why I’m Still Using Trilium
One of the interesting things about software is that the tools you continue using often tell you more than the tools you get excited
about.
I try new applications constantly.
Especially now.
There seems to be a new AI productivity tool, note-taking system, “second brain,” or knowledge-management application appearing every week.
Some are impressive.
But the real test for me is:
Am I still using it six months later? A year later?
With Trilium, the answer is yes.
It isn’t necessarily the prettiest knowledge-management application available. It isn’t the application everyone is talking about. And it isn’t trying to become another giant cloud productivity platform.
Maybe that’s part of why I like it.
It does what I need it to do.
It lets me organize information the way my brain tends to organize information. It runs on infrastructure I control. It works locally. It synchronizes. And I can get to my information from virtually anywhere.
More importantly, my knowledge base belongs to me.
After more than a year, TriliumNext has earned a permanent place in my toolbox.
And v0.105?
So far, so good.
If you are already running TriliumNext and have been putting off the upgrade, my experience was painless — just make the backup first!
And if you haven’t tried Trilium before and you like the idea of a private, self-hosted knowledge system, it is definitely one worth exploring.
A special thank-you to Elian Doran and everyone contributing to TriliumNext for keeping this thoughtful and genuinely useful open-source project moving forward. Maintaining a tool that people trust with years of their knowledge is no small commitment, and the work is sincerely appreciated. If you would like to explore it for yourself, learn more and download it from Trilium Notes.




