Trilium Notes (Self-Hosted)
Trilium Notes (Self-Hosted)
Hello and happy new year. Welcome to my first blog in โ23 where i will be showing you how easy you can self-host your note-taking application at home. I feel like the search for a good notetaking platform is never-ending. Iโve been using Github Gists, Obsidian and Notion for preety much 2 years now but this year i decided to try something new. Trilium Notes, a project by zadam is a hierarchical note taking application with focus on building large personal knowledge bases.
It is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is unsupported.
With that said, lets get started.๐ Iโm hosting it on my home network on a Raspberry-Pi, running Ubuntu server. Deployment method is a docker container.๐ I followed zadamโs knowledge base.
I used this docker-compose file to bring up the container:
1
2
3
4
5
6
7
8
9
version: "3.3"
services:
trilium:
image: zadam/trilium:latest
restart: unless-stopped
ports:
- "9999:8080"
volumes:
- /home/ubuntu/containers/trillium:/home/node/trilium-data
A lil about the compose file.
- We are using compose version 3.3
- We are using the latest build image from docker hub
- We are setting the container restart policy to always keep the instance running unless the container is stopped.
- By default, trilium runs on port 8080. Since i have another different container using the same port, i assigned mine 9999.
- Trilium needs a directory where it can store its data, this then needs to be mounted into the docker container. The container needs to runs as a root to be able to access it in write mode.. In my case,
/home/ubuntu/containers/trillium
is the directory created.
From there we can go ahead and compose the file as show below:
After getting similar output, access the trilium web editor by opening a browser and going to the server IP/FQDN followed by the port specificed earlier. Here we find the initial setup guide:
After selecting the first option, we proceed to setup a password.
Once set, you will be prompted to login.
Upon a successful login, we get access to a beautiful homepage. The UI honestly looks preety awesome ๐.
Trillium has been written in JavaScript btw.
Before we even start diving in, lets look at how much resources are consumed by the container.
Very minimal. ๐
Poking around the templates on the left navigation pane, we get a variety of good looking and helpful teamplates. For example:
Statistics
Mermaid Diagrams
Canvas Notes
Formatting Options
Family Trees
Ohh, and its search functionality is powerfull too ๐
Trilium also has a switch for changing the web layout to Mobile View
as shown:
Moving on, clicking on the icon on the top left, shows you more options you can tinker with.
For instance, You can use the SQL Console to query your notes from the Database.
I also tried creating a dummy text as shown:
Review
- It looks preety awesome and powerful and cant wait to unleash its full potential overtime. However, i feel like its abit complex ๐. Time will tell .
- Can I compare it to Notion? ๐ โโ๏ธ, Notion is quite powerful with tons of integrations (GitHub, Figma, Trello, GoogleDrive, CodePen. Slack, Zoom, Asana). Iโm yet to see if Trilium accepts integrations or installing plugins.๐
- Can you import or export notes on Trilium? Trilium can import ENEX files which are used by Evernote for backup/export and also markdown. You can also export notes as MD, HTML and OPML. Compared to notion, i feel like notion is King, in the sense that i can import notes from/as: Evernote, Trello, Asana, Confluence, txt, MD, CSV, HTML, Word, Google Docs, Dropbox paper, Quip and Workflowy. Exporting? PDF,HTML, MD & CSV. Notion wins on this one.
- Lets talk about synchronization. Trilium supports synchronization between desktop client and a server instance. In my case I am using a server instance. If i had a desktop client on a different workstation and wanted to sync notes with my server instance, I would select that option when doing the initial installation setup as shown in the third option below:
More information about its sync capabilities can be found here. Obsidian doesnโt have that sync feature. Notion is not self-hosted but you can sync your notes from the browser, mobile application and also desktop application.
From their Github README, they boast of the following features:
Since i havenโt tested them all, i will do a proper review of the same in subsequent blogs. Thanks for reading up to this point, lemmy know your thought on the same should you try it out. If you have any other #OpenSource deployable solutions or fun projects that you would want me to cover, feel free to reach out on the same. Cheers โ๐ผ
Comments powered by Disqus.