Joplin
Joplin is an open-source note-taking app. It can be installed as a Desktop application on Windows, Mac, and Linux, or as a command-line Node application. Here I have instructions to install Joplin command line in a Docker container on a Linux machine that I can SSH to.
Install and Configure Joplin TUI via Docker
Create a Dockerfile with:
# Base image: current LTS Node, slim Debian
FROM node:22-slim
# Install terminal editors and basic tools
RUN apt-get update && \
apt-get install -y --no-install-recommends \
vim \
nano && \
rm -rf /var/lib/apt/lists/*
# Install Joplin Terminal client globally
RUN npm install -g joplin
# Set working directory
WORKDIR /root
# Default editor for Joplin (change to nvim or nano if you prefer)
ENV EDITOR=vim
ENV VISUAL=vim
# Run Joplin TUI by default
ENTRYPOINT ["joplin"]
Build the Image
From the directory with the Dockerfile:
Run with Persistent Config & Notes
docker run -it --name joplin-tui \
-v "$HOME/.config/joplin:/root/.config/joplin" \
-v "$HOME/.joplin:/root/.joplin" \
joplin-tui
Next time, reuse the same container:
Switching Editors Inside Joplin
Inside the Joplin TUI you can set which editor it uses:
Configure Encryption Sync via Dropbox
I already have encryption and sync setup via Dropbox on my Desktop and Mobile apps therefore I think it was easier to do it on the command line.
# Enable encryption
# It will ask for a master password
:e2ee enable
# Set Dropbox as sync target:
:config sync.target 7
# Start sync:
:sync
- Joplin shows an authorization URL — copy/paste it in your host browser.
- Grant permission in Dropbox and copy the string generated by Dropbox to Joplin.
- Joplin resumes syncing automatically.
Joplin TUI Shortcuts
To Create New Notebook and Notes
mn or :mknote to create a new note.
mb or :mkbook to create a new notebook.
Full Help Keymap
For information on how to customise the shortcuts please visit https://joplinapp.org/help/apps/terminal#shortcuts
: enter_command_line_mode
TAB focus_next
SHIFT_TA focus_previous
UP move_up
DOWN move_down
PAGE_UP page_up
PAGE_DOWN page_down
ENTER activate
DELETE, BACKSPACE delete
n next_link
b previous_link
o open_link
(SPACE) todo toggle $n
tc toggle_console
tm toggle_metadata
ti toggle_ids
r restore $n
/ search ""
mn mknote ""
mt mktodo ""
mb mkbook ""
yn cp $n ""
dn mv $n ""
z toggle_folder_collapse
Help Output
The possible commands are:
attach, batch, cat, config, cp, done, e2ee, edit, exit, export, geoloc, help, import, ls, mkbook, mknote, mktodo, mv, ren, restore, rmbook, rmnote, search, server, set, share, status, sync, tag, todo, undone, version
- In any command, a note or notebook can be referred to by title or ID, or using the shortcuts
$nor$bfor, respectively, the currently selected note or notebook.$ccan be used to refer to the currently selected item. - To move from one pane to another, press Tab or Shift+Tab.
- Use the arrows and page up/down to scroll the lists and text areas (including this console).
- To maximise/minimise the console, press "tc".
- To enter command line mode, press ":"
- To exit command line mode, press ESCAPE
- For the list of keyboard shortcuts and config options, type
help keymap