Skip to content

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:

docker build -t joplin-tui .

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:

docker start -ai joplin-tui

Switching Editors Inside Joplin

Inside the Joplin TUI you can set which editor it uses:

:config editor vim

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 $n or $b for, respectively, the currently selected note or notebook. $c can 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