Self-Hosted : les konnectors ne fonctionnent pas


#1

Bonjour la communauté Cozy ! :slight_smile:

Avec l’aide des membres de ce forum, j’ai pu installer mon instance Cozy en self-hosted, et ça fonctionne ! Merci :slight_smile:

Cozy Drive fonctionne très bien. Mais il y a encore des trucs qui ne fonctionnent pas.

Dès que j’essaie d’utiliser un konnector, j’ai la même erreur. L’installation fonctionne, mais au moment de la connexion :
« Un problème semble s’être produit pendant la tentative de connexion à [nom du konnector]. Merci de revérifier vos informations de compte, de consulter notre aide en ligne ou de nous contacter à contact@cozycloud.cc »

Ça le fait systématiquement sur chaque konnector testé pour l’instant (6 au total).

Quand j’ouvre la console, je ne sais pas si c’est lié, j’ai des appels à
https://cozy.mon-instance.fr/settings/context qui renvoient une 404.

À noté que je n’ai pas encore activé de SMTP sur mon serveur, mais je ne pense pas que ce soit obligatoire pour faire fonctionner les konnectors, si ?

Merci d’avance pour l’aide.


Auto-hébergement avec son propre certificat (pas d'utilisation de Let's encrypt)
#2

Question de base : t’as configuré quel mode pour les konnectors ? node, nsjail ? Si nsjail, tu l’as bien installé, et t’as créé le chroot qui va bien ?

(Par contre je débogue pas plus loin que ça, j’ai pas encore fait cette étape)


#3

Alors j’ignorais carrément qu’il fallait configuré un truc. Du coup c’est pas surprenant que ça ne fonctionne pas. Y’a un début de tuto ou un truc comme ça quelque part ?


#4

Voici un tuto, page 9 tu as qques éléments sur les connecteurs, avec notamment un script pour le chroot qui va bien.
Cela ne fonctionne que sur debian.

Il faut également faire gaffe à ce que le paramètre kernel.unprivileged_userns_clone soit à 1 et pas à 0

Cf le tuto et le topic Les connecteurs n'importent rien

Edit : de mon côté j’ai 7 ou 8 connecteurs qui tournent correctement sur mon instance perso.


#5

Ça tombe bien, c’est l’OS de mon serveur :slight_smile:
Merci !


#6

J’ai exécuté le script /usr/share/cozy/konnector-create-chroot.sh, il n’y a pas eu d’erreur.
J’ai vérifier que kernel.unprivileged_userns_clone retourne bien 1.
J’ai restart le service cozy-stack.

Pourtant, même erreur que dans le premier message : aucun konnector ne fonctionne. Une idée ? Une piste de quoi regarder pour avoir la cause du problème ?


#7

En regardant dans /var/log/cozy/stack.log je vois CANNOT_FIND_ACCOUNT.
Ça pourrait venir de quoi ?


#8

là je ne saurais pas …

Précise peut être les connecteurs sur lesquels tu rencontre le souci


#9

Hello @Xav987,

Les connecteurs impliquent plusieurs types de documents en base, essentiellement des :

  • io.cozy.accounts : ce sont les identifiants de connexion au service ;
  • io.cozy.triggers : c’est la tâche périodique d’import.

CANNOT_FIND_ACCOUNT signifie que lorsque la tâche périodique lance l’import, elle ne trouve pas de document dans la base io.cozy.accounts.
Essaie, via l’interface de ton Cozy, de supprimer et de ré-créer les comptes pour tes connecteurs.

Est-ce que tu as accès à ton CouchDB, via curl ou futon ?


#10

Hello @Clochix,

J’ai accès à mon CouchDB via curl mais je suis loin de maîtriser CouchDB donc je ne sais pas quelles commandes exécuter via curl pour avoir plus d’information.
Déconnecter le compte et re-rentrer les identifiants ne change rien, même erreur. Pareil pour la désinstallation/réinstallation du connecteur.

@cpique : ça me le fait avec absolument tous les connecteurs que j’ai essayé (Deezer, Ameli, Generali, OVH, Free Mobile, Scaleway, Netflix, …)

Merci pour votre aide…


#11

CouchDB propose par défaut une appli Web pour l’administrer, accessible sur le serveur à l’adresse http://127.0.0.1:5984/_utils/. Le plus simple est de faire un tunnel SSH entre le port 5984 de ton serveur et ton PC local, et de pointer ton navigateur vers cette URL en local. Tu pourras alors explorer tes bases. Les identifiants pour te connecter à CouchDB sont dans le fichier de configuration de Cozy /etc/cozy/cozy.yml


#12

Ok, j’ai fait mon tunel SSH, j’'ai accès à CouchDB via mon navigateur.

Je vois une base nommée cozy00000000000000000000000000000000/io-cozy-accounts (j’ai remplacé les 32 caractères par des zéros, je ne sait pas si c’est une donnée sensible).
Dedans j’ai autant de lignes que de connecteurs, donc ça semble cohérent.

Par contre, rien qui ressemble à io.cozy.triggers

Une idée ?


#13

Le préfixe des bases (cozyxxxx) est une somme de contrôle à partir de l’URL de ton serveur, donc au pire du pire ça pourrait révéler l’URL de ton serveur. Mais de toutes façons c’est une donnée sans intérêt ici.

Je crois que le document dans la base triggers n’est créé qu’après une première exécution du connecteur, donc si la première exécution à la création échoue, ça expliquerait que tu n’aies rien dans cette base.

Tu devrait également avoir une base io-cozy-jobs avec un document par exécution du connecteur, avec son résultat. As-tu des documents dans cette base ?


#14

J’ai pas mal de trucs dans io-cozy-jobs. Je viens d’exécuter une synchro et j’ai un résultat avec notamment "state": "errored" et "error": "CANNOT_FIND_ACCOUNT".


#15

Pour avoir des journaux plus verbeux, tu peux essayer de passer ton instance en mode debug avant de relancer le connecteur :

cozy-stack instances debug cozy.xav987.cloud true
cozy-stack konnectors run toto --domain cozy.xav987.cloud
(attendre)
cozy-stack instances debug cozy.xav987.cloud false

Peut-être verras-tu des 404 dans les journaux.
(tu peux éventuellement m’envoyer tes journaux en privé).


#16

Salut @Clochix

Je t’ai envoyé le résultat de la commande ainsi que le contenu de mon stack.log et stack.debug.log par message privé.
Merci encore pour ton aide.