💬 Olvid#

Installation#

Note

Dans la section suivante vous allez dĂ©ployer un daemon Olvid et une instance N8N Ă  l’aide de docker et docker-compose.

Si vous souhaitez utiliser une instance de daemon et/ou de N8N dĂ©jĂ  dĂ©ployĂ©e, vous pouvez ne dĂ©ployer qu’une partie des services suivants. Il vous faudra seulement remplir correctement les champs Client Key et Daemon Url au moment de la crĂ©ation des credentials dans N8N.

Installation d’un daemon et d’une instance N8N#

  1. Pour commencer, créer un nouveau dossier pour votre projet. Ce sera votre répertoire courant pour la suite.

    mkdir olvid-n8n
    cd olvid-n8n
    
  2. Il vous faudra ensuite générer une clé client administrateur. Vous pouvez utiliser les commandes uuidgen ou openssl en fonction de votre configuration. Il faudra stocker le résultat dans un fichier .env.

    echo "OLVID_ADMIN_CLIENT_KEY=$(uuidgen)" >> .env
    

    OU

    echo "OLVID_ADMIN_CLIENT_KEY=$(openssl rand -hex 32)" >> .env
    
  3. Vous pouvez maintenant créer un fichier docker-compose.yaml avec le contenu suivant.

 x-logging: &default-logging
   logging:
     driver: "json-file"
     options:
       max-size: "1m"
       max-file: "100"

 services:
   ##########
   # DAEMON #
   ##########
   daemon:
     image: olvid/bot-daemon:2.0.1
     environment:
       - OLVID_ADMIN_CLIENT_KEY_CLI=${OLVID_ADMIN_CLIENT_KEY}
     restart: unless-stopped
     volumes:
       - ./data:/daemon/data
       - ./backups:/daemon/backups
     <<: *default-logging

   cli:
     image: olvid/bot-python-runner:2.0.1
     environment:
       - OLVID_ADMIN_CLIENT_KEY=${OLVID_ADMIN_CLIENT_KEY}
       - OLVID_DAEMON_URL=http://daemon:50051
     stdin_open: true
     tty: true
     entrypoint: "olvid-cli"
     volumes:
       - ./photos:/photos
     depends_on:
       - daemon
     # We use a profile cause cli only need to start on user initiative
     profiles:
       - "cli"
     <<: *default-logging

   #######
   # N8N #
   #######
   n8n:
     image: docker.n8n.io/n8nio/n8n
     restart: always
     ports:
       - "5678:5678"
     environment:
       - N8N_DIAGNOSTICS_ENABLED=false
       - N8N_PUBLIC_API_DISABLED=true
       - N8N_PUBLIC_API_SWAGGERUI_DISABLED=true
       - NODES_EXCLUDE=["n8n-nodes-base.executeCommand","n8n-nodes-base.readWriteFile"]
       - N8N_REINSTALL_MISSING_PACKAGES=true
     volumes:
       - ./n8n_data:/home/node/.n8n
  1. Créer les conteneurs avec la commande suivante.

    docker compose up -d daemon n8n
    

Installer le noeud Olvid dans N8N#

Vous avez lancé un daemon Olvid et une instance N8N qui tournent en fond, il faut maintenant configurer N8N et installer les noeuds Olvid communautaires.

  1. Ouvrir la page http://localhost:5678 dans votre navigateur pour accéder à votre instance N8N.

  2. CrĂ©er un compte N8N (il s’agit d’un compte local).

  3. Rendez-vous sur la page de paramĂštres

    Settings button in N8N homepage
  4. Cliquer sur Community Nodes puis cliquer sur Install a community node.

    Community Nodes page in N8N
  5. Entrer n8n-nodes-olvid Ă  la place de npm Package Name, prendre le temps de considĂ©rer les risques d’installer un noeud communautaire avant de cocher la case et cliquer sur Install.

    Installing Olvid node in N8N
  6. Retourner sur la page principale pour créer votre premier workflow.

Le noeud Olvid devrait maintenant ĂȘtre disponible dans vos workflows.

Olvid node available in a N8N workflow

Configurer le noeud Olvid#

Maintenant que vous avez installĂ© le noeud Olvid, avant de l’utiliser, il vous faut crĂ©er des credentials pour qu’il puisse communiquer avec votre daemon.

  1. Ouvrez ou créez un workflow, et ajoutez-y un un noeud Olvid.

  2. Vous pouvez choisir indépendamment une action ou un trigger.

    Trigger selection of Olvid node in N8N
  3. Ouvrez votre noeud et créez les credentials en cliquant sur Select Credential.

    Olvid credentials setup in N8N
  4. Il vous faut maintenant créer une clé client Olvid pour autoriser votre noeud à communiquer avec le daemon Olvid. Pour cela vous pouvez utiliser les commandes suivantes dans un terminal, dans le dossier contenant votre fichier docker-compose.yaml.

    Prototype: identity new FirstName LastName Position Company

    docker compose run --rm cli identity new Totoro
    

    Cette commande retournera un entier qui est l’identifiant de l’identitĂ© que vous venez de crĂ©er. Pour les prochaines commandes on considĂ©rera que cet identifiant est 1.

  5. Il faut maintenant crĂ©er une clĂ© d’API pour cette nouvelle identitĂ© Ă  l’aide de la commande suivante.

    Prototype: key new KeyName IdentityId

    docker compose run --rm cli key new totoro-n8n-key 1
    

    Cette commande renvoi une clé de la forme: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE.

    Copiez cette clé et collez là dans le champ Client Key de votre modal de création de Credential dans N8N.

  6. Saisissez ensuite la valeur du champ Daemon Url pour mettre http://daemon:50051 (si n8n a Ă©tĂ© créé dans le mĂȘme fichier docker-compose.yaml, sinon saisir l’URL qui permet d’atteindre votre daemon).

  7. Vous pouvez maintenant sauvegarder vos credentials avec le bouton Save.

FĂ©licitation 🎉!

Vous pouvez maintenant utiliser les noeuds Olvid dans vos workflows !