notes-wikis
Evernote logo

Should I self-host Evernote?

KINDAworth it if…

Trilium's tree-of-notes beats Evernote for structured thinkers on desktop. The mobile story is a synced web app and the OCR-of-photos job doesn't exist — worth it if your notes live on a keyboard.

The math (nothing hidden, including your time)

Evernote (Starter)$14.99/mo
VPS share + storage−$0.80/mo
Your maintenance: 10 min/mo at $20/h−$3.33/mo
Net saving$10.86/mo
Setup: 40 min measured (one-time)$13.33
Break-even1.2 months
Markup Index (price ÷ real self-host cost)3.6×

Price: source, checked 2026-08-06. Inputs are stored in git; every number above is derived, never hand-written.

What you lose

  • Native mobile apps with offline + camera capture — Trilium mobile is a web view
  • Evernote's OCR on photos and scans
  • 10GB of someone else's storage

What you're paying Evernote for

  • notes with hierarchy/links
  • web clipping
  • search
  • mobile capture
  • OCR of images/handwriting
Trilium running from the boot-verified compose file
Trilium, running from the compose file on this page — screenshot from our verified instance, not marketing material.

Ranked alternatives

A personal knowledge base with a note tree, relations and scripting, keeping every note in one SQLite file you can copy.

TriliumNext/Trilium · ★ 37,353 · last commit 0d ago · AGPL-3.0

Hardware

Runs comfortably on Raspberry Pi.

The tested compose file (our evidence, CI-booted)

# Trilium Notes (TriliumNext) — hierarchical personal knowledge base (replaces Evernote's
# desktop half; the mobile + OCR gap is the KINDA)
services:
  trilium:
    image: triliumnext/notes:latest
    container_name: trilium
    restart: unless-stopped
    environment:
      TRILIUM_DATA_DIR: /home/node/trilium-data
    ports:
      - "8091:8080"
    volumes:
      - trilium-data:/home/node/trilium-data
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://localhost:8080/api/health-check >/dev/null || wget -qO- http://localhost:8080 >/dev/null || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 24
      start_period: 20s

volumes:
  trilium-data:

Want a guided install instead? caniselfhostit.com/evernote has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

Verification

Protocol v1 · verified by zernonia on 2026-08-10 · setup measured at 40 min · AI assistant: claude-code (allowed & stated)

What broke

  • Project moved: zadam/trilium is archived, TriliumNext is the maintained fork — star counts and docker tags split across the two confuses every comparison
Full timed log
# Timed setup log: Evernote → trilium

**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10
**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1

## Timeline

| Step | Time |
|---|---|
| Read upstream docs, draft compose with healthcheck | ~13 min |
| **Boot: all services healthy in 26 s (measured, `compose up --wait`)** | — |
| Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~13 min |
| **Total: ~40 min** | |

Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this
session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —
dispute anything that doesn't reproduce (CONTRIBUTING.md).

## What broke

- Project moved: zadam/trilium is archived, TriliumNext is the maintained fork — star counts and docker tags split across the two confuses every comparison

## Verdict-relevant notes

- Web clipper extension works against self-hosted instances.

Verdict history

  • 2026-08-10: unscored → KINDA — Initial verdict: Trilium's tree-of-notes beats Evernote for structured thinkers on desktop. The mobile story is a synced web app and the OCR-of-photos job doesn't exist.