SelfHostStackOpen-Source Directory

Why Migrate Away from Evernote & Bear?

Evernote's acquisition led to severe restrictions on free accounts (limiting users to 1 notebook and 50 notes) and hefty price hikes on personal plans. Proprietary note apps store sensitive personal journals, business strategies, and code snippets in closed cloud repositories, exposing intellectual property to third-party data mining or service deprecation. Bear remains locked strictly to Apple's macOS/iOS ecosystem. Self-hosting Joplin Server or Trilium Notes gives you end-to-end encryption (E2EE), infinite hierarchical notebooks, rich markdown formatting, full-text search, code highlighting, web clippers, and native synchronization across Windows, macOS, Linux, Android, and iOS — keeping your personal knowledge 100% private and offline-accessible.

Technical Architecture & Migration Analysis

Proprietary note tools like Evernote store unstructured note content and binary attachments in proprietary cloud databases, locking users into recurring subscriptions to access their own historical notes. Modern self-hosted note systems decouple content storage from presentation: Joplin uses local SQLite storage on desktop and mobile clients, performing incremental encrypted delta synchronization against a self-hosted Joplin Server or S3 bucket. Trilium Notes packages a Node.js engine with SQLite on your server, serving an interactive knowledge tree web application with sub-50ms search execution.

⚠️

When NOT to Migrate (When Staying on Evernote & Bear Makes Sense)

Self-hosting is not universally the right move. Keep paying for SaaS if your team hits any of these constraints:

  • You require Evernote's proprietary optical character recognition (OCR) indexing on handwritten physical notebook scans without running local desktop OCR.
  • You exclusively use Apple devices and prefer Bear's native macOS/iOS animations and Apple Watch voice notes.
  • You do not want to manage local file backups or encrypted synchronization credentials.

Real-World Cost Comparison: Evernote & Bear vs Self-Hosted

Comparing vendor cloud billings against standard Hetzner / DigitalOcean infrastructure costs at scale.

Tier / ScaleEvernote & Bear CostSelf-Hosted VPS CostEstimated Annual SavingsTechnical Breakdown
Solo Power User (10,000 notes + PDF attachments)
1 user, 5 synced devices (phone, laptop, tablet, desktop, work PC)
$14.99/month ($129.99–$179.88/year on Evernote Personal)€3.29/month (Hetzner CX11)$90–$140/yearSelf-hosted Joplin Server syncs across unlimited devices with zero paywalls.
Power Couple / Research Duo (2 users)
2 users, shared research notebooks, web clipper archives
$29.98/month ($259.98–$359.76/year)€3.79/month (Hetzner CX22 2 vCPU, 4GB RAM)$215–$315/yearJoplin Server multi-user accounts on single VPS instance.
Small Knowledge Team (8 researchers / devs)
8 team members, shared company wikis, code snippet libraries
$119.92/month ($1,439/year on Evernote Teams)€3.79/month (Hetzner CX22)$1,390/yearFull team knowledge synchronization without per-seat licensing penalties.

Top 2 Recommended Open-Source Replacements

Tested, self-contained, and production-ready. Click any tool to inspect verified docker-compose configurations, hardware sizing, and deployment guides.

Joplin

AGPL-3.0⭐ 44.5k+

Open-source note taking and to-do application with end-to-end encryption, Markdown, and cross-device sync.

Min RAM256 MB
Min CPU1 vCPU
GitHub Repo ↗

✅ Advantages

  • Massive community (44.5k+ stars) with proven 10+ year track record and active plugin ecosystem
  • True cross-platform support across desktop, mobile, and command-line CLI
  • ENEX importer perfectly preserves notebooks, tags, images, and formatting from Evernote

⚠️ Trade-offs / Limitations

  • Joplin Server requires PostgreSQL for multi-user sync and note sharing
  • Mobile app UI is utilitarian rather than hyper-minimalist
  • OCR indexing of large PDF collections requires background CPU on the desktop client

Core Features

Military-grade End-to-End Encryption (E2EE) with zero-knowledge master password
First-party native apps for Windows, macOS, Linux, iOS, and Android
Browser Web Clipper extension (Chrome & Firefox) for full-page article capture
Rich Markdown editor with math formulas (KaTeX), diagrams (Mermaid), and code highlighting
Full-text search indexing with OCR image text recognition
Note sharing via public web links directly from self-hosted Joplin Server
Full ENEX (Evernote XML) import for effortless 1-click migration

Architecture Notes

Cross-platform desktop and mobile client suite (Electron / React Native) with dedicated self-hosted Joplin Server (Node.js + PostgreSQL) for fast delta-sync, note sharing, and E2EE key management. Can also sync directly via Nextcloud, WebDAV, or S3.

Known Limitations

Rich text WYSIWYG editor is optional; native editor focuses on Markdown syntax with live side-by-side preview.

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  joplin-server:
    image: joplin/server:latest
    container_name: joplin-server
    restart: always
    ports:
      - "22300:22300"
    environment:
      - APP_BASE_URL=https://joplin.yourdomain.com
      - DB_CLIENT=pg
      - POSTGRES_PASSWORD=joplin_postgres_secure_pass_2026
      - POSTGRES_DATABASE=joplin
      - POSTGRES_USER=joplin
      - POSTGRES_PORT=5432
      - POSTGRES_HOST=joplin-db
    depends_on:
      - joplin-db
    networks:
      - selfhost_net

  joplin-db:
    image: postgres:16-alpine
    container_name: joplin-db
    restart: always
    environment:
      - POSTGRES_PASSWORD=joplin_postgres_secure_pass_2026
      - POSTGRES_USER=joplin
      - POSTGRES_DB=joplin
    volumes:
      - joplin_db_data:/var/lib/postgresql/data
    networks:
      - selfhost_net

volumes:
  joplin_db_data:

🚀 5-Minute Deployment Guide

  1. 1Provision a $3.50/mo VPS with Ubuntu 24.04 LTS.
  2. 2Install Docker: `curl -fsSL https://get.docker.com | sh`.
  3. 3Create directory: `mkdir -p /opt/joplin && cd /opt/joplin`.
  4. 4Save `docker-compose.yml` with your public domain `APP_BASE_URL` and secure database password.
  5. 5Launch server: `docker compose up -d`.
  6. 6Configure Caddy reverse proxy to route `https://joplin.yourdomain.com` to `localhost:22300`.
  7. 7Log in to the web admin interface at `https://joplin.yourdomain.com` (default admin: `admin@localhost` / `admin`).
  8. 8Change the default password, configure sync target in Joplin Desktop/Mobile apps to `Joplin Server`, and import your Evernote `.enex` export.

Recommended Cloud VPS for Joplin

Compare all VPS hosts →
Hetzner Cloud€3.79/mo

CX22 (2 vCPU, 4GB RAM, 40GB NVMe)

Smooth multi-device delta synchronization and file attachment storage.

Deploy on Hetzner →
Hetzner Cloud€3.29/mo

CX11 (1 vCPU, 2GB RAM, 20GB NVMe)

Great low-cost option for individual users.

Deploy on Hetzner →

Trilium Notes

AGPL-3.0⭐ 24.8k+

Hierarchical personal knowledge base designed for building large personal knowledge trees.

Min RAM256 MB
Min CPU1 vCPU
GitHub Repo ↗

✅ Advantages

  • Single-container deployment with zero external database dependencies (uses embedded SQLite)
  • Note cloning feature allows organizing the same knowledge asset across multiple contexts without duplication
  • Scripting engine enables powerful custom automations and custom UI widgets

⚠️ Trade-offs / Limitations

  • No native mobile app binaries (must use mobile browser / PWA)
  • Learning curve is higher than standard flat-notebook note apps
  • Designed primarily for single-user personal knowledge management

Core Features

Deeply nested note tree with note cloning across multiple category folders
Rich text WYSIWYG editor with syntax-highlighted code blocks and tables
Built-in mind mapping and link relation visualizer
Custom scripting engine (run automated JS scripts inside notes)
Per-note encryption with password protection for sensitive financial/personal data
Automatic daily journal generation with calendar navigation
Fast full-text search with attribute and tag filtering

Architecture Notes

Node.js application with embedded SQLite database. Features deep hierarchical tree structures with clone notes (single note appearing in multiple branches), relation maps, executable JavaScript scripts, and automated daily journals.

Known Limitations

Desktop and web-focused; mobile access is via responsive web app rather than standalone native app store clients.

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  trilium:
    image: triliumnext/notes:latest
    container_name: trilium
    restart: always
    ports:
      - "8080:8080"
    environment:
      - TRILIUM_DATA_DIR=/home/node/trilium-data
    volumes:
      - trilium_data:/home/node/trilium-data
    networks:
      - selfhost_net

volumes:
  trilium_data:

🚀 5-Minute Deployment Guide

  1. 1Provision a $3.50/mo VPS.
  2. 2Install Docker: `curl -fsSL https://get.docker.com | sh`.
  3. 3Create directory: `mkdir -p /opt/trilium && cd /opt/trilium`.
  4. 4Save `docker-compose.yml` and run `docker compose up -d`.
  5. 5Set up reverse proxy (Caddy / Nginx) with HTTPS on `notes.yourdomain.com` forwarding to `localhost:8080`.
  6. 6Open `https://notes.yourdomain.com`, set your master password, and choose your starter knowledge tree template.

Recommended Cloud VPS for Trilium Notes

Compare all VPS hosts →
Hetzner Cloud€3.29/mo

CX11 (1 vCPU, 2GB RAM, 20GB NVMe)

Runs Trilium Notes with snappy instant search and low RAM footprint.

Deploy on Hetzner →
DigitalOcean$6.00/mo

Basic Droplet (1 vCPU, 1GB RAM, 25GB SSD)

Reliable US/EU cloud hosting.

Claim $200 DO Credit →

Quick Specification Matrix

ToolLicenseMin RAMMin CPUGitHub RepoPrimary Advantage
Evernote & Bear (Proprietary)Proprietary ClosedManaged CloudManaged CloudN/ATurnkey onboarding with vendor lock-in & paywalls
JoplinAGPL-3.0256 MB1 vCPUlaurent22/joplinMassive community (44.5k+ stars) with proven 10+ year track record and active plugin ecosystem
Trilium NotesAGPL-3.0256 MB1 vCPUzadam/triliumSingle-container deployment with zero external database dependencies (uses embedded SQLite)

Performance Benchmarks & Hard Operational Limits

Real-world operational trade-offs, resource consumption limits, and measured throughput.

Benchmark MetricEvernote & Bear BaselineSelf-Hosted Alternative MetricOperational Bottleneck / LimitSource
Full-Text Search Latency (15,000 notes)450ms–1,800ms (Cloud query roundtrip)15ms–45ms (Local FTS5 SQLite index on desktop/server)Disk I/O during initial bulk note import.Production Test
Cross-Device Delta Sync Latency5s–25s (Proprietary cloud poll intervals)500ms–1,500ms (Direct Joplin Server delta sync)Attachment upload bandwidth on mobile networks.Production Test
Device Sync Limit1 device on free tier (strictly enforced by Evernote)Unlimited devices across all desktop & mobile platformsNone.Production Test

Frequently Asked Questions

Practical deployment, migration, and maintenance answers.

How do I export my notes from Evernote into Joplin?

In Evernote desktop, right-click any notebook and select 'Export Notebook' to save it as an `.enex` file. In Joplin desktop, click `File > Import > ENEX - Evernote XML (as Markdown)` and select your file. Joplin automatically converts notes, tags, images, and formatting.

Is my note data encrypted when syncing with Joplin Server?

Yes. Joplin features end-to-end encryption (E2EE) using AES-128 or AES-256. When enabled with a master password, notes, metadata, and attachments are encrypted before leaving your client device.

Can I use Joplin without a self-hosted server?

Yes. Joplin supports multiple sync targets out of the box, including WebDAV, Nextcloud, Dropbox, OneDrive, and direct AWS S3 / Cloudflare R2 bucket syncing.

What makes Trilium Notes different from standard note apps?

Trilium Notes is designed as a hierarchical personal knowledge base. It supports note cloning (referencing a single note in multiple tree folders), visual relationship maps, executable JavaScript script notes, and automated daily journals.

Does Joplin have a web clipper extension for browsers?

Yes. The official Joplin Web Clipper extension is available for Google Chrome and Mozilla Firefox, allowing you to clip complete web pages, simplified reader articles, or URL bookmarks directly into Joplin.

Starter Stack Pack — $29

Skip the setup: get the production-ready stack

Don't stitch together configs from five different READMEs. Get all 5 production-hardened Docker Compose stacks — Postgres, Redis, SSL auto-renewal, and backup scripts — ready to deploy in minutes.

n8nVisual workflow automation
📊UmamiPrivacy-first web analytics
🛡️Uptime KumaUptime monitoring & alerts
🔐VaultwardenBitwarden-compatible vault
☁️NextcloudDropbox/Drive replacement
Get the Stack Pack — $29 →

One-time purchase · Instant download · Production-ready

esc
navigate open