Auto-hébergez « Memos » et reprenez la main sur vos post-its

Si vous utilisez G00gle Keep ou d’autres applis pour prendre des notes rapides sur le PC ou le téléphone, sachez que « Memos » est une alternative auto-hébergée qui pourrait vous plaire. Qui sait quand un membre des GAFAM décide de bazarder son appli « gratuite » ? Qui sait quand il décide de le pourrir de pubs sur chaque cm² ? À qui appartient les données que vous y notez, dont les mots de passe de votre nouveau routeur en wifi 7 et votre liste de course en Andorre ?

Bref, il suffirait d’un petit effort afin de ramener son calepin électronique chez soi, et avec une bonne stratégie de sauvegarde, ce n’est pas la peine d’avoir peur de perdre ses données. Encore mieux, conservez votre G00gle drive, et servez-vous-en pour stocker des backup chiffrés de vos données auto-hébergées. Transformez l’exploiteur en exploité !

Nous allons donc installer un calepin très simple, avec du formatage de base, lisible, facile à archiver et supprimer, etc. Pour cela, rien de mieux que quelques lignes de docker-compose, on clique sur démarrer et c’est parti ! Résumons les étapes :

  • Installer Memos sur docker, en utilisant docker-compose,
  • Sécurisez votre compte sur Memos,
  • Configurez l’accès public via Cloudflare Tunnel ou Reverse Proxy (NPM, Traefik, caddy, etc.),
  • Notez des trucs !

Les étapes sont simples si vous avez déjà mis en place docker et un reverse proxy chez vous. Sinon, suivez les nombreux guides sur internet pour arriver à cette infrastructure de base (par exemple celui-ci de GuiPoM pour Docker et celui-ci pour un reverse-proxy NPM), car elle sera ré-utilisée par tous vos projets. Il vous suffira d’un raspberry pi, d’un vieux laptop, d’un mini-pc, d’un petit NAS basé sur docker ou même d’une instance sur AWS, Oracle ou autre, pour garder les choses bien éloignées de votre réseau domestique.

Etape #1 : Installer Memos

Vous pouvez trouver la présentation du produit ici : https://www.usememos.com/

Nous allons utiliser Portainer pour l’installer parce que c’est beau et simple. La documentation officielle fait état de 6 lignes pour installer Memos en ligne de commande. Afin de garder les choses propres, nous allons créer un stack dans docker compose. Cela nous permettra d’y rajouter un reverse-proxy, un vpn, ou autre fonctionalité associé à Memos. On peut aussi ne garder qu’un container dans le Stack pour faciliter l’organisation de ses micro-services.

Donc, dans Portainer, on clique dans « Stack » et on fait « + Add Stack »

Ensuite, on va coller les lignes suivantes dans l’éditeur :

version: "3"
name: memos
services:
  memos:
    container_name: memos
    image: neosmemo/memos:stable
    ports:
      - 5230:5230
    volumes:
      - /AppData/memos:/var/opt/memos
    restart: always
  • Vous pouvez changer le port 5230 (celui qui est à gauche dans le mapping 5230:5230) à ce que vous souhaitez,
  • Vous pouvez aussi modifier « /AppData/memos » qui est le chemin sous lequel l’on va stocker la base de données de Memos sur la machine docker. C’est plutôt pratique pour pouvoir en faire une sauvegarde en copiant le répertoire ailleurs.

Et on lance la création. Si tout s’est bien passé, on peut voir que les logs docker de Memos affichent ceci :

Etape #2 : Sécurisez votre compte

Après avoir lancé Memos en allant à http://mon-serveur-docker:5230, créez votre mot de passe administrateur et ensuite, il sera temps de limiter l’inscription de nouveaux comptes avant de lancer Memos sur internet :

  • Si vous ne souhaitez pas laisser tout le monde s’enregistrer un compte sur votre instance, déactivez « Allow user signup ». Dans ce cas, nous pouvons créer les comptes au compte-goutte,
  • Déactivez aussi les notes publiques, si c’est votre cas d’utilisation.

Si vous utilisez keycloak pour l’authentification, ce mode de SSO est intégré dans l’appli.

Etape #3 : Exposez Memos sur internet

Si vous utilisez des reverse-proxy, vous saurez vous débrouiller !

Sinon, il y a le service Cloudflare qui vous permet de facilement exposer vos services sur internet, avec quelques avantages non négligeables :

  • Un certificat SSL utilisable uniquement pour vos domaines sur Cloudflare de 10 ans (voir la photo plus bas),
  • Une sécurisation (WAF – Règles de parefeu) en amont de votre site, des visiteurs basé sur le réseau très étendu de Cloudflare. Je trouve que cela évite l’utilisation d’autres outils tels CrowdSec ou autre,
  • Vous pouvez router vos mails aussi par CF, ce qui bloque pas mal de spam, si vous avez votre propre service mail,

Bien sûr, si vous préférez éviter d’utiliser un service outre-Atlantique, il faudra ouvrir au moins 2 ports chez vous pour bidouiller un reverse-proxy et faire de sorte qu’il tienne le choc des rôdeurs Metasploiteurs !

Certificat SSL de CF de 10 ans configuré sur Nginx Proxy Manager

Donc en avant pour une configuration sous Cloudflare. Il suffit de créer un nouvel hôte public sous :

Networks / Tunnels / Rajouter Public Hostname
Rajout d’un tunnel cloudflare
N’oubliez pas d’installer le connecteur « cloudflared » dans votre docker
Vérification de la santé du tunnel

Et boum, Memos est désormais utilisable sur internet : https://memos.votre-nom-de-domaine.fr

Etape #4 : Postez des notes

Pour l’avoir en raccourci sur son téléphone, il suffira de naviguer jusqu’au site et de le rajouter à l’écran d’accueil :

Et on peut commencer à poster des trucs sympas, telles des photos, des titres avec un #, des liens et du code :

Et bien sûr, dans le doute, Rebootez !

0 0 votes
Article Rating
S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x