Self-Hosted / Projects / Joplin

Joplin
StableSpecs verified September 1, 2026 · against vv3.6.16
Overview
Open source notes app with private sync, end-to-end encryption, and an optional self-hosted server.
Joplin is an open source note-taking and to-do app for people who want private, portable notes with offline-first access, Markdown editing, and optional self-hosted sync.
The stronger search framing is not just the brand name. Readers are usually deciding whether Joplin can replace Evernote or another locked-in notes service while still giving them control over storage, sync, and encryption.
Why people choose Joplin
The official help pages position Joplin around note ownership and flexibility: notebooks, tags, search, imports from Evernote, plugins, and sync that is not hard-wired to one vendor. That freedom is a major reason self-hosters keep it on the shortlist.
Joplin is also offline first, which is a practical difference from browser-dependent note tools. Your notes remain local on your devices, and sync is an extra capability rather than the only way the app works.
What you get in the stack
Official docs highlight Markdown notes, notebooks, tagging, search, multimedia attachments, web clipping, plugin customization, and clients across Windows, macOS, Linux, Android, and iOS. Joplin can sync with Joplin Cloud, Nextcloud, S3, WebDAV, Dropbox, OneDrive, or the local filesystem instead of forcing one provider.
For self-hosters who do want a dedicated server path, the official docker-compose.server.yml shows Joplin Server running with PostgreSQL and APP_BASE_URL configuration. That means the project can fit both “bring your own sync target” users and people who want a purpose-built self-hosted sync service.
What to know before you deploy
Joplin’s flexibility is the main benefit, but it also means you need to choose your own sync model. If you want the lightest path, WebDAV or Nextcloud may be enough. If you want the dedicated server workflow, the official compose example expects PostgreSQL plus a correctly set APP_BASE_URL and a reverse-proxy/TLS plan when the service is exposed publicly.
End-to-end encryption is another real tradeoff. The official E2EE guide says setup should begin on one device first, then complete a full sync before enabling other devices. It also warns about encryption overhead and the risk of creating multiple keys if you turn it on everywhere at once.
This is why Joplin is a strong privacy-first notes tool but not always the lowest-effort team wiki or browser-only knowledge base. The fit depends on whether you value note ownership and sync flexibility more than a fully managed collaborative workspace.
Best fit
Choose Joplin when you want a private note system with offline-first behavior, broad client support, Markdown, and the freedom to self-host or choose your own sync target.
Compare Obsidian, Standard Notes, or a team wiki platform more closely if your main priority is a different editing model, heavier collaboration, or less sync setup responsibility.
Quick deploy
Paste into docker-compose.yml and rundocker compose up -d1services:2 db:3 image: postgres:164 restart: unless-stopped5 environment:6 POSTGRES_USER: joplin7 POSTGRES_PASSWORD: change-me8 POSTGRES_DB: joplin9 volumes:10 - ./data/postgres:/var/lib/postgresql/data1112 app:13 image: joplin/server:latest14 restart: unless-stopped15 depends_on:16 - db17 ports:18 - '22300:22300'19 environment:20 APP_PORT: 2230021 APP_BASE_URL: https://notes.example.com/joplin22 DB_CLIENT: pg23 POSTGRES_HOST: db24 POSTGRES_PORT: 543225 POSTGRES_DATABASE: joplin26 POSTGRES_USER: joplin27 POSTGRES_PASSWORD: change-me
Configuration
Environment variables
| Variable | What it does | Example |
|---|---|---|
APP_BASE_URLrequired | Public base URL for the Joplin Server instance. | https://notes.example.com/joplin |
POSTGRES_USERrequired | PostgreSQL user for the Joplin Server database. | joplin |
POSTGRES_PASSWORDrequired | PostgreSQL password for the Joplin Server database. | change-me |
POSTGRES_DATABASErequired | PostgreSQL database name used by Joplin Server. | joplin |
Ports
22300/tcp— Joplin Server web/API listener from the official compose example.
Volumes to back up
/var/lib/postgresql/data— Persistent PostgreSQL data for the Joplin Server database.
Feature support
| Feature | Support |
|---|---|
| Offline-first notes and to-dosThe official help docs describe Joplin as offline first, with notes stored locally on your devices. | Supported |
| Markdown notes, notebooks, tags, and searchThese are core project capabilities described in the main help overview. | Supported |
| Evernote importOfficial docs state that Evernote exports can be imported along with formatting and metadata. | Supported |
| End-to-end encrypted syncThe E2EE guide covers encrypted synchronization across devices. | Supported |
| Sync with Nextcloud, WebDAV, S3, Dropbox, OneDrive, or local filesystemJoplin supports multiple sync targets instead of forcing one provider. | Supported |
| Optional self-hosted Joplin ServerSupported through the official server compose example, but it adds PostgreSQL and server-operation responsibilities. | Partial support |
| Plugins and themesThe homepage and help pages both highlight plugin-based customization. | Supported |
| Web clipper for saving pages and screenshotsOfficial browser clipper extensions are available for supported browsers. | Supported |
| Cross-platform desktop and mobile clientsOfficial apps are available for Windows, macOS, Linux, Android, and iOS. | Supported |
Community signals
- Stars
- 56.8k
- Forks
- 6.3k
- Open issues
- 645
- Last commit
- 15h ago
- Latest release
- v3.7.21
- Repo created
- Jan 2017
Includes open pull requests
3w ago
Refreshed nightly from the GitHub API.
Alternatives
- Evernote
Common migration source for users moving away from a vendor-managed note service.
- Standard Notes
Privacy-oriented notes comparison for people prioritizing encryption and cross-device access.
- Obsidian
Frequent comparison for local Markdown note workflows with a different plugin and sync model.
Questions
What is Joplin used for?
Joplin is used for private note taking, to-do management, web clipping, and cross-device sync with local-first access to your data.
Is Joplin an Evernote alternative?
Yes. Joplin is commonly used as an open source Evernote alternative because it supports notebook organization, search, imports from Evernote, and flexible sync options without locking you to one hosted service.
Can Joplin be self-hosted?
Yes, in more than one way. You can sync Joplin through self-hosted targets such as Nextcloud or WebDAV, and the project also provides a dedicated Joplin Server deployment example using PostgreSQL.
Does Joplin support end-to-end encryption?
Yes. Official docs describe E2EE on all Joplin applications, with the caveat that it should be enabled on one device first and then rolled out to the others in order.
Does Joplin work offline?
Yes. Joplin is designed as an offline-first app, so your notes remain available locally even without an internet connection.
Does Joplin force you to use Joplin Cloud?
No. The sync docs list several options including Nextcloud, S3, WebDAV, Dropbox, OneDrive, local filesystem, and Joplin Cloud.
Who should choose Joplin?
Joplin is a strong fit for people who care about note ownership, Markdown workflows, local access, and the option to control or self-host their sync target. Teams that want a more centralized browser-first workspace may prefer a different tool.
support // the lab
Found this write-up useful?
If it saved you time or a rebuild, you can support more practical homelab guides.