Serveur Joplin
Joplin est une application libre bien connue de prise de notes qui permet d’organiser vos notes et de les synchroniser avec tous vos appareils. Dans cet article, je vais détailler l’installation d’un serveur Joplin sous Docker.
Application
L’application Joplin propose toutes les fonctionnalités qu’on est en droit d’attendre d’une solution de prise de notes moderne :
- client multi-plateformes deskop et mobile (Windows, OSX, Linux, Android et iOS)
- prise de notes, listes todo
- éditeur markdown
- gestion des versions
- support multimédia (images, vidéos, audio, PDF)
- publication web (clic droit sur une note -> Publier la note)
- web clipper (extension navigateur pour importer des pages web)
- partage de notes entre amis, famille ou collègues
- chiffrement bout en bout (E2EE)
- import Evernote
- plugin VScode
Joplin Server
Joplin est compatible avec de nombreux services de nuage (Nextcloud, OneDrive, Dropbox) mais aussi des solutions plus simple comme WebDAV et surtout la solution maison : Joplin Server.
Notez que l’éditeur propose aussi une solution hébergée avec Joplin Cloud.
Installation
Avant de commencer, je précise que le serveur Joplin est toujours en version bêta (2.9.7-beta) au moment où j’écris cet article.
Si vous démarrez avec Docker, je vous propose de jeter un coup d’œil à mon précédent article..
Pour les autres, on va directement entrer dans le vif du sujet en déclarant le frontal applicatif et la base de données (PostgreSQL) dans un traditionnel docker-compose.yaml
:
1$ sudo mkdir /opt/joplin
2$ sudo touch /opt/joplin/docker-compose.yaml
Avec le contenu suivant en veillant à :
- personnaliser les mots de passe, la configuration mail et les URL
- utiliser la dernière version du server joplin
1version: '3'
2services:
3 db:
4 image: postgres:15
5 container_name: joplin_db
6 restart: unless-stopped
7 volumes:
8 - db:/var/lib/postgresql/data
9 expose:
10 - 5432
11 networks:
12 - lan
13 restart: unless-stopped
14 environment:
15 - POSTGRES_PASSWORD=V3ryS3cr3t
16 - POSTGRES_USER=joplin
17 - POSTGRES_DB=joplin
18 app:
19 image: joplin/server:2.9.7-beta
20 container_name: joplin_app
21 depends_on:
22 - db
23 expose:
24 - 22300
25 restart: unless-stopped
26 environment:
27 - APP_PORT=22300
28 - APP_BASE_URL=https://joplin.domain.tld
29 - DB_CLIENT=pg
30 - POSTGRES_PASSWORD=V3ryS3cr3t
31 - POSTGRES_DATABASE=joplin
32 - POSTGRES_USER=joplin
33 - POSTGRES_PORT=5432
34 - POSTGRES_HOST=db
35 - MAILER_ENABLED=1
36 - MAILER_HOST=smtp.domain.tld
37 - MAILER_PORT=25
38 - MAILER_SECURITY=none
39 - MAILER_NOREPLY_NAME=joplin-server
40 - MAILER_NOREPLY_EMAIL=joplin-noreply@domain.tld
41 networks:
42 - traefik_lan
43 - lan
44 labels:
45 - "traefik.enable=true"
46 - "traefik.docker.network=traefik_lan"
47 - "traefik.http.routers.joplin.rule=Host(`joplin.domain.tld`)"
48 - "traefik.http.routers.joplin.entrypoints=websecure"
49 - "traefik.http.routers.joplin.tls=true"
50networks:
51 traefik_lan:
52 external: true
53 lan:
54volumes:
55 db:
56 driver: local
Dans ce déploiement, j’utilise toujours Traefik
en reverse proxy et pour la terminaison TLS. La persistance des données est assurée avec un volume nommé pour la base de données (pensez à mettre en place une sauvegarde).
Il ne reste plus qu’à lancer l’application:
1$ docker-compose -f /opt/joplin/docker-compose.yaml up -d
et consulter les logs pour s’assurer que tout est correct :
1$ docker-compose -f /opt/joplin/docker-compose.yaml logs app
Si tout va bien vous devez pouvoir utiliser l’interface web de l’application à l’adresse: https://[fqdn] (en fonction du nom de domaine que vous avez déclaré dans votre docker-compose).
les identifiants par défaut sont :
- email : admin@localhost
- password: admin
Après avoir changé le mot de passe du compte admin et validé le compte avec le lien fourni dans le courriel reçu, il faut créer les comptes pour les utilisateurs qui souhaitent utiliser votre serveur (il existe une variable pour permettre aux utilisateurs de s’enregistrer: SIGNUP_ENABLED=1
)
Le quota maximum et la taille max des fichiers téléchargés sont exprimés en octets (ici respectivement 5GB et 2MB).
Configuration du client
Je vous recommande de commencer par activer le chiffrement E2EE (Préférences -> Chiffrement) et ensuite de configurer la synchronisation :
Partager un carnet
Le partage se situe au niveau carnet (notebook): clic droit sur le carnet -> partager le carnet
Conclusion
Joplin Server est une alternative crédible à Evernote tout en gardant la maitrise de ses données. Elle est particulièrement légère (empreinte mémoire de 350MB) et facile à prendre en main. Dernier point, L’application gère maintenant des profils avec des réglages indépendants pratique pour séparer des univers personnel et professionnel.