cheat-sheets

Joplin

Joplin is an open-source note-taking and to-do app with desktop, mobile and terminal clients. Notes are written in Markdown, organised in notebooks and tagged, and can be synced with end-to-end encryption. Compare with Obsidian (linked notes in plain files) and Logseq (outliner).

Homepage: Joplin Docs: Joplin Documentation Source: laurent22/joplin


Install #

PLATFORMCOMMAND
Windowschoco install joplin (Chocolatey) or the installer
macOSbrew install --cask joplin (Homebrew)
Linuxthe official install script from the Joplin site, or AppImage
Terminal appnpm install -g joplin (needs Node.js)

Sync #

Set the target under Tools > Options > Synchronisation. Supported targets include Joplin Cloud, Joplin Server, Nextcloud, WebDAV, Dropbox, OneDrive, AWS S3 and a plain folder (use with Syncthing).

  • Enable end-to-end encryption under Options > Encryption, and do it on every device. Keep the master key and password safe: lost keys mean unreadable notes.
  • Do not sync one profile with two different targets.

Self-Host Joplin Server #

yaml
services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: joplin
      POSTGRES_PASSWORD: change-me
      POSTGRES_DB: joplin
    volumes:
      - joplin_db:/var/lib/postgresql/data
  app:
    image: joplin/server:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "22300:22300"
    environment:
      APP_PORT: 22300
      APP_BASE_URL: https://joplin.example.com
      DB_CLIENT: pg
      POSTGRES_HOST: db
      POSTGRES_PORT: 5432
      POSTGRES_USER: joplin
      POSTGRES_PASSWORD: change-me
      POSTGRES_DATABASE: joplin
volumes:
  joplin_db:

See Docker-Compose and PostgreSQL Cheat-Sheet. Put it behind a reverse proxy with TLS (Traefik, Nginx). Joplin Server’s first admin account is documented upstream with a default login; change that default password immediately.

Terminal Client #

Start with joplin. Commands start with : in the app, or run from the shell as joplin <command>.

COMMANDDESCRIPTION
mkbook <NAME>Create a notebook
use <NOTEBOOK>Switch notebook
mknote <TITLE>Create a note
lsList notes
cat <NOTE>Show a note
edit <NOTE>Edit in $EDITOR
set <NOTE> todo 1Make the note a to-do
syncSync now
config <KEY> <VALUE>Set an option (for example the sync target)
helpList commands

Markdown Tips #

  • Full Markdown plus checklists (- [ ]), tables, math ($...$), Mermaid and footnotes. See Markdown and Mermaid.
  • Internal links use note IDs ([Title](:/noteid)); right-click a note > Copy Markdown link.
  • The Web Clipper browser extension saves pages as Markdown notes.
  • Export and import as Markdown, JEX or raw files (File > Export all).

Backup #

Sync is not a backup. Export regularly (File > Export all as JEX) or copy the profile folder (~/.config/joplin-desktop on Linux).

Not Verified #

Written from knowledge and not checked against a current install. Check the Joplin docs for Joplin Server environment variables and the default admin login.

Search all sheets

Tip: / or Ctrl/Cmd+K to open, Esc to close.