What is it for?
Joplin is a very complete notes app (Markdown, notebooks, tags, attachments, encryption). Joplin Server syncs your notes across devices, faster and more simply than Nextcloud or Dropbox.
Who is it for?
Joplin users, or anyone looking for a real Evernote alternative.
Good to know
Joplin Server only answers on the address set in APP_BASE_URL (otherwise "Invalid origin", error 404). Always use that address, never IP:port.
After installing
- Log in with admin@localhost / admin, then change the email and password right away.
- In the Joplin app: Synchronisation → Joplin Server, with your server address.
The docker-compose
Example behind Traefik. To adapt it (Nginx Proxy Manager, local port…) with a line-by-line explanation, use the generator (in French).
# docker-compose.yml : Joplin Server
services:
app:
image: joplin/server:latest
container_name: joplin
restart: unless-stopped
depends_on:
- db
environment:
APP_PORT: "22300"
APP_BASE_URL: https://joplin.mydomain.com
DB_CLIENT: pg
POSTGRES_HOST: db
POSTGRES_PORT: "5432"
POSTGRES_DATABASE: joplin
POSTGRES_USER: joplin
POSTGRES_PASSWORD: "${DB_PASSWORD}"
TZ: Europe/Paris
networks:
- traefik
- default
labels:
- traefik.enable=true
- traefik.http.routers.joplin.rule=Host(`joplin.mydomain.com`)
- traefik.http.routers.joplin.entrypoints=websecure
- traefik.http.routers.joplin.tls.certresolver=letsencrypt
- traefik.http.services.joplin.loadbalancer.server.port=22300
- traefik.docker.network=traefik
db:
image: postgres:17-alpine
container_name: joplin-db
restart: unless-stopped
environment:
POSTGRES_DB: joplin
POSTGRES_USER: joplin
POSTGRES_PASSWORD: "${DB_PASSWORD}"
volumes:
- ./db:/var/lib/postgresql/data
networks:
traefik:
external: true