$linuxjunkies
>

Install Joplin for Notes

Install Joplin on Linux via AppImage or Flatpak, then connect it to Joplin Cloud, Nextcloud, WebDAV, Dropbox, or S3 for encrypted cross-device sync.

BeginnerUbuntuDebianFedoraArch7 min readUpdated June 7, 2026

Before you start

  • A standard desktop Linux install with internet access
  • For Flatpak: Flatpak installed and Flathub remote added
  • For AppImage: wget or curl available, FUSE library installed
  • Credentials for your chosen sync provider (Nextcloud URL, Dropbox account, S3 bucket, etc.)

Joplin is an open-source, end-to-end-encrypted note-taking app that stores notes in plain Markdown. It runs on Linux, Windows, macOS, Android, and iOS — and it syncs across all of them. This guide covers the two most practical installation paths on Linux (AppImage and Flatpak), then walks through configuring each major sync provider so your notes are wherever you need them.

Choosing Your Installation Method

Joplin is not packaged in most official distro repositories, so you have two well-supported options:

  • AppImage — a self-contained binary you download directly from the Joplin team. You always get the latest upstream release. Best if you want the freshest features and don't mind a manual update step.
  • Flatpak — sandboxed, auto-updated through Flathub, and works on almost every distro. The Flathub build may lag a version or two behind upstream, but it's the lowest-friction option for most users.

Option A: Install via AppImage

1. Download and run the install script

Joplin ships an official install script that downloads the latest AppImage, places it in ~/.joplin/, and creates a .desktop file for your app launcher.

wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

The script is safe to re-run later for updates. Review it at the URL above if you prefer to audit scripts before piping to bash — a completely reasonable habit.

2. Verify the desktop entry exists

ls ~/.local/share/applications/appimagekit-joplin.desktop

If your launcher doesn't pick it up immediately, run update-desktop-database ~/.local/share/applications or log out and back in.

3. Make the AppImage executable (if running manually)

If you downloaded the AppImage by hand instead of using the script:

chmod +x ~/Downloads/Joplin-*.AppImage
~/Downloads/Joplin-*.AppImage

AppImages require FUSE. On Debian/Ubuntu, install it if missing:

sudo apt install libfuse2

On Fedora/RHEL family:

sudo dnf install fuse

On Arch:

sudo pacman -S fuse2

Option B: Install via Flatpak

1. Ensure Flatpak and Flathub are set up

Debian/Ubuntu:

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Fedora already ships Flatpak; just add Flathub if needed:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Arch:

sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

2. Install Joplin from Flathub

flatpak install flathub net.cozic.joplin_desktop

3. Launch it

flatpak run net.cozic.joplin_desktop

It also appears in your application launcher under the name Joplin. Flatpak updates happen automatically via your software center or with flatpak update.

Flatpak sandbox note: The sandbox restricts filesystem access by default. If you sync via a local folder path (e.g., a Nextcloud-synced directory), grant access explicitly:

flatpak override --user net.cozic.joplin_desktop --filesystem=~/Nextcloud

Setting Up Sync

Open Joplin, then go to Tools → Options → Synchronisation. Choose your target from the Synchronisation target dropdown. All providers use end-to-end encryption when you enable it under Tools → Options → Encryption — turn that on before syncing to any cloud service.

Joplin Cloud

The simplest path. Create an account at joplincloud.com, select Joplin Cloud as the target, and enter your email and password. Sync starts immediately. Paid plans start at a few dollars per month; there is a free tier with storage limits.

Nextcloud / WebDAV

Select Nextcloud or WebDAV (they use the same fields). You need:

  • WebDAV URL — for Nextcloud this is https://your-server/remote.php/dav/files/USERNAME/Joplin (create the Joplin folder in Nextcloud first)
  • Username and Password (or an app-specific password if you have 2FA enabled on Nextcloud)

Click Check synchronisation configuration before saving — Joplin will tell you immediately if the credentials or URL are wrong.

Dropbox

Select Dropbox. Click Create a Dropbox application — Joplin opens a browser tab asking you to authorize the connection. After authorization Dropbox returns a token; paste it into the field and save. Notes land in Apps/Joplin in your Dropbox.

Amazon S3 (and S3-compatible services)

Select S3 (Beta). You need:

  • Bucket name — create a private bucket beforehand; do not make it public
  • Access key ID and Secret access key — use a dedicated IAM user with s3:GetObject, s3:PutObject, s3:DeleteObject, and s3:ListBucket permissions on that bucket only
  • Region — e.g., us-east-1
  • For S3-compatible providers (Backblaze B2, Wasabi, MinIO), set a custom S3 URL pointing to their endpoint

S3 sync is marked Beta upstream; it works reliably in practice but check the Joplin release notes after major upgrades.

Filesystem / Local folder (advanced / Syncthing)

Select File system and point it at any local directory. Pair this with Syncthing or your Nextcloud desktop client syncing that folder, and you get sync without granting Joplin any cloud credentials directly.

Verifying Your Setup

After configuring a sync target, create a test note, then click the sync button (bottom-left status bar) or press Ctrl+S. Watch the status bar — it shows "Completed: …" with a timestamp on success. On a second device or after re-installing, hitting sync should pull that test note down within seconds.

To confirm encryption is active, go to Tools → Options → Encryption. The status should read Enabled and show a master key fingerprint. Without this, notes are stored in plaintext on your sync provider.

Troubleshooting

AppImage won't launch — FUSE error

The message fuse: failed to exec fusermount3 or similar means FUSE isn't installed or the kernel module isn't loaded. Install the package for your distro (see above), then run modprobe fuse if the module isn't auto-loaded.

Flatpak can't reach WebDAV / Nextcloud URL

The Flatpak sandbox allows outbound network connections by default, so a blocked URL usually means a typo, a self-signed certificate Joplin doesn't trust, or a Nextcloud server not reachable from your network. Test with curl -I https://your-server/remote.php/dav/ from the terminal first.

Sync conflict notes appearing

Conflicts happen when the same note is edited on two devices before either syncs. Joplin creates a duplicate named "Note title (conflict)". Resolve by comparing and merging the two versions manually, then deleting the conflict copy. Sync more frequently to reduce this.

Notes missing after reinstall / new device

On a fresh install Joplin starts with an empty local database. Configure the same sync target, hit sync, and wait — it may take several minutes to download a large note library. Do not create new notes during the initial sync or you risk conflicts.

tested on:Ubuntu 24.04Fedora 40Arch rollingDebian 12

Frequently asked questions

Is Joplin available in standard distro repositories?
Not in most official repos. The Joplin team supports AppImage and the Flatpak on Flathub as the primary Linux distribution methods. Some AUR packages exist for Arch users but are community-maintained.
Does Joplin encrypt notes before uploading them to Dropbox or S3?
Yes, if you enable end-to-end encryption under Tools → Options → Encryption. Without it, notes are synced as readable plaintext. Always enable encryption before connecting a cloud provider.
Can I sync Joplin with my own server without paying for Joplin Cloud?
Yes. Point Joplin at any WebDAV server, a self-hosted Nextcloud instance, a MinIO bucket, or simply a local folder you sync with Syncthing. All are free options.
Why does the Flatpak version sometimes fail to access my local sync folder?
The Flatpak sandbox restricts filesystem access by default. Use 'flatpak override --user net.cozic.joplin_desktop --filesystem=/path/to/folder' to grant access to the specific directory Joplin needs.
How do I update Joplin when installed as an AppImage?
Re-run the same install script: 'wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash'. It detects an existing installation and upgrades in place. Joplin also shows an in-app update notification.

Related guides