Synchroniser son coffre Obsidian en temps réel !

Présentation de la solution finale

Cette documentation explique comment mettre en place une solution de synchronisation en temps réel pour votre coffre Obsidian. Cette configuration permet de garder vos fichiers constamment à jour entre différents appareils, tout en hébergeant vos données vous-même. La solution s’appuie sur Docker (Docker compose) pour faciliter le déploiement, CouchDB pour stocker votre coffre Obsidian, et le plugin "Self-hosted LiveSync" sur Obsidian pour la synchronisation.
Le principal résultat attendu est une synchronisation automatique et fiable des fichiers, vous offrant ainsi une continuité de travail fluide entre vos appareils.

Pourquoi cette solution ?

Cette solution a été retenue car elle permet un contrôle total sur vos données sans recourir à des services de synchronisation payants ou externes. Docker assure une installation et une gestion simplifiées grâce à son approche basée sur les conteneurs. CouchDB, avec sa capacité de réplication en temps réel, est parfaitement adapté pour stocker et synchroniser votre vault Obsidian entre plusieurs machines. Par rapport à d’autres options, cette approche offre une flexibilité maximale, une maîtrise totale de vos fichiers et une synchronisation rapide et efficace, indispensable pour un workflow fluide sur Obsidian.

Technologies utilisées

  • Docker : Docker facilite la mise en place d’environnements isolés pour héberger les différents composants nécessaires, tels que CouchDB. Il permet d'automatiser et de simplifier l’installation et la maintenance des services essentiels au bon fonctionnement de la synchronisation.

  • CouchDB : CouchDB est la base de données choisie pour stocker votre coffre Obsidian. Elle excelle dans la gestion de données distribuées et permet de synchroniser les modifications sur différents appareils en temps réel, garantissant une mise à jour continue de vos notes.

  • Obsidian : L'application principale de prise de notes en Markdown que vous cherchez à synchroniser. Grâce à cette solution, vos fichiers seront automatiquement stockés et synchronisés via CouchDB, vous permettant de travailler sans interruption, quel que soit l'appareil utilisé.

Cette solution vous apporte un environnement de travail auto-hébergé, sécurisé et efficace pour gérer vos notes Obsidian avec une synchronisation en temps réel, sans dépendre de services externes.

Sommaire

  1. Mise en place de l'environnement Docker

  2. Installation et configuration de CouchDB

    • Clone du dépôt
    • Création du fichier '.env'
    • Lancer le service avec Docker Compose
    • Vérifier le bon fonctionnement de CouchDB
    • Configuration via le Tableau de Bord Fauxton
    • Vérification de l'Installation
    • Création d'une nouvelle base de données dans Fauxton
  3. Configuration du plugin "Self-hosted LiveSync" sur Obsidian

    • Installation et activation du plugin sur Obsidian
    • Connexion du plugin à CouchDB
    • Paramétrage de la synchronisation en temps réel
  4. Tests et validation

    • Vérification de la connexion et des échanges entre CouchDB et Obsidian
    • Test de la synchronisation sur plusieurs appareils
    • Résolution des problèmes courants

1. Mise en place de l'environnement Docker

Pour la première partie de ce Wiki, je vous invite a vous référer a ma documentation technique concernant l'installation de Docker.

2. Installation et configuration de CouchDB

Étape 1 : Clone du dépôt

Commence par cloner ce dépôt sur ta machine ou serveur.

git clone https://github.com/zamk-paw/couchdb-obsidian.git && cd couchdb-obsidian

Étape 2 : Créer un fichier .env

Pour simplifier la gestion des variables sensibles comme le nom d'utilisateur et le mot de passe, crée un fichier .env à la racine du projet. Ce fichier contiendra les variables d'environnement utilisées pour la configuration.

Exemple de contenu du fichier .env :

DB_USERNAME=ton_utilisateur
DB_PASSWORD=ton_mot_de_passe

Étape 3 : Lancer le service avec Docker Compose

Ensuite, exécute la commande suivante pour déployer CouchDB à l'aide de Docker Compose. Docker Compose utilisera automatiquement les variables définies dans le fichier .env.

docker compose up -d

Étape 4 : Vérifier le bon fonctionnement de CouchDB

Accède à l'URL suivante pour vérifier que CouchDB fonctionne correctement :

http://ip:5984

Tu devrais voir une page qui confirme que CouchDB est opérationnel.

Étape 5 : Configuration via le Tableau de Bord Fauxton

Navigue vers le tableau de bord Fauxton pour configurer CouchDB en mode mono-nœud. Fauxton est l'interface d'administration graphique de CouchDB.

http://ip:5984/_utils/#/setup

Suis les instructions pour configurer CouchDB en tant que nœud unique.

Étape 6 : Vérification de l'Installation

Vérifie que l'installation est complète et correcte en visitant cette URL :

http://ip:5984/_utils/#/verifyinstall

Étape 7 : Création d'une nouvelle base de données dans Fauxton

Dans le tableau de bord Fauxton, crée une nouvelle base de données appelée obsidian-livesync.

Une fois votre base de donnée crééer nous allons passer a la configuration du plugin "Self-hosted LiveSync" sur Obsidian

3. Configuration du plugin "Self-hosted LiveSync" sur Obsidian

Étape 1 : Installation et activation du plugin sur Obsidian

Pour commencer, installez et activez le plugin "Self-hosted LiveSync" dans Obsidian. Si vous ne savez pas comment installer un plugin, je vous invite à suivre la documentation d'Obsidian.

Une fois le plugin ajouté, vous trouverez une nouvelle section dans les paramètres d'Obsidian où vous pourrez configurer la connexion à votre serveur CouchDB. C’est cette connexion qui permet la synchronisation de vos notes sur tous vos appareils.

Une fois sur la page de configuration du plugin, cliquez sur "Minimal Setup".

Remplissez les différents champs avec vos informations.

Une fois vos informations renseignez, cliquer sur "Check", plusieurs vérification seront effectué, si tous est ok vous pourrez poursuivre l'installation en cliquant sur le boutton "Next"