Gancio login failed (Cannot login with any user)

What type of hardware are you using: Virtual machine
What YunoHost version are you running: 12.0.11
What app is this about: Gancio

Describe your issue

J’ai créé un utilisateur en base de données avec la commande :

./server/cli.js users create monadmin@asso.mondomaine.tld monpassword admin

en sorite il me dit :

:date: gancio - v1.22.0 - A shared agenda for local communities (nodejs: v18.19.0)

Reading configuration from: /var/www/gancio/config.json
User “monadmin@asso.mondomaine.tld” created with role admin

Mais la connexion sur le site Gancio est impossible. Il me dit de vérifier mes informations de connexion.

À savoir le nom de domaine de Gancio est calendar.mondomaine.tld

J’utilise une machine virtuel virtualbox avec des certificats auto-signés.

Je sèche …

Note : J’ai le même comportement lorsque j’essaie de créer un compte “editor” pour saisir les événements.
Par ailleurs, je ne reçois aucun mail de l’application même si je demande mot de passe oublié.

Share relevant logs or error messages

config.json :

{
    "baseurl": "https://calendrier.mondomaine.tld",
    "server": {
        "host": "127.0.0.1",
        "port": "46074"
        },
    "log_level": "debug",
    "log_path": "/var/log/gancio/logs",
    "db": {
        "dialect": "postgres",
        "storage": "",
        "host": "localhost",
        "database": "gancio",
        "username": "gancio",
        "password": "...",
        "logging": false,
        "dialectOptions": {
            "autoJsonMap": true
        }
    },
    "smtp" : { 
        "host" : "localhost",
        "port" : 25,
        "secure" : false,
        "auth": {
            "user": "gancio",
            "pass": "..."
        }
    },
    "from": "monadmin@asso.mondomaine.tld",
    "user_locale": "/home/yunohost.app/gancio/user_locale",
    "upload_path": "/home/yunohost.app/gancio/uploads",
    "plugins_path": "/home/yunohost.app/gancio/plugins"
}

févr. 28 16:58:51 systemd[1]: gancio.service: Deactivated successfully.
févr. 28 16:58:51 systemd[1]: Stopped gancio.service - Gancio: federated agenda.
févr. 28 16:58:51 systemd[1]: gancio.service: Consumed 4.053s CPU time.
févr. 28 16:58:51 systemd[1]: Started gancio.service - Gancio: federated agenda.
févr. 28 16:58:51 node[3919]: 📅 gancio - v1.22.0 - A shared agenda for local communities (nodejs: v18.20.7)
févr. 28 16:58:51 node[3919]: ℹ > Reading configuration from: /var/www/gancio/config.json
févr. 28 16:58:52 node[3919]: ℹ Modern bundles are detected. Modern mode (server) is enabled now.
févr. 28 16:58:52 node[3919]: 2025-02-28T15:58:52.507Z info: Logging to /var/log/gancio/logs/gancio.log (level: debug)
févr. 28 16:58:52 node[3919]: 2025-02-28T15:58:52.569Z debug: Connecting to DB: {"dialect":"postgres","storage":"","host":"localhost","database":"gancio","username":"gancio","password":"b2ef662073420e786f8a4610","logging":false,"dialectOptions":{"autoJsonMap":true}}
févr. 28 16:58:53 node[3919]: ℹ Listening on: http://localhost:46074/
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.121Z debug: Running migrations
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.135Z info: Loading plugins from /home/yunohost.app/gancio/plugins and /var/www/gancio/gancio_plugins
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.151Z info: Found plugin 'Telegram' in '/var/www/gancio/gancio_plugins/gancio-plugin-telegram-bridge/index.js'
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.151Z info: Do not load plugin Telegram (/var/www/gancio/gancio_plugins/gancio-plugin-telegram-bridge/index.js) as it is not enabled!
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.152Z info: Found plugin 'Webhook' in '/var/www/gancio/gancio_plugins/gancio-plugin-webhook/index.js'
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.152Z info: Do not load plugin Webhook (/var/www/gancio/gancio_plugins/gancio-plugin-webhook/index.js) as it is not enabled!
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.158Z info: [TASK] Add CREATE_RECURRENT_EVENT (30 minutes)
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.158Z info: [TASK] Add CLEAN_UNUSED_PLACES (1 day)
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.159Z info: [TASK] Add CLEAN_UNUSED_TAGS (1 day and 1 minute)
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.159Z info: [TASK] Add CLEAN_FEDIVERSE_PAST_EVENT (6 hours and 5 minutes)
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.159Z info: [TASK] Add CLEAN_FEDIVERSE_AP_USERS (1 day and 10 minutes)
févr. 28 16:58:53 node[3919]: 2025-02-28T15:58:53.160Z info: START TASK MANAGER WITH LOOP INTERVAL OF 10 seconds
févr. 28 16:59:03 node[3919]: 2025-02-28T15:59:03.168Z debug: [TASK] Process CLEAN_UNUSED_PLACES
févr. 28 16:59:03 node[3919]: 2025-02-28T15:59:03.173Z debug: [TASK] Process CLEAN_UNUSED_TAGS
févr. 28 16:59:03 node[3919]: 2025-02-28T15:59:03.174Z debug: [TASK] Process CLEAN_FEDIVERSE_PAST_EVENT
févr. 28 16:59:03 node[3919]: 2025-02-28T15:59:03.182Z debug: [TASK] Process CLEAN_FEDIVERSE_AP_USERS
févr. 28 16:59:13 node[3919]: 2025-02-28T15:59:13.615Z debug: GET /
févr. 28 16:59:13 node[3919]: 2025-02-28T15:59:13.847Z debug: GET /api/locale/en
févr. 28 16:59:13 node[3919]:  ERROR  The Express 'trust proxy' setting is true, which allows anyone to trivially bypass IP-based rate limiting. See https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/ for more information.
févr. 28 16:59:13 node[3919]:   at Object.trustProxy (node_modules/express-rate-limit/dist/index.cjs:149:13)
févr. 28 16:59:13 node[3919]:   at wrappedValidations.<computed> [as trustProxy] (node_modules/express-rate-limit/dist/index.cjs:362:22)
févr. 28 16:59:13 node[3919]:   at Object.keyGenerator (node_modules/express-rate-limit/dist/index.cjs:616:20)
févr. 28 16:59:13 node[3919]:   at node_modules/express-rate-limit/dist/index.cjs:669:32
févr. 28 16:59:13 node[3919]:   at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
févr. 28 16:59:13 node[3919]:   at async node_modules/express-rate-limit/dist/index.cjs:649:5
févr. 28 16:59:13 node[3919]: 2025-02-28T15:59:13.859Z debug: GET /api/locale/fr
févr. 28 16:59:13 node[3919]: ℹ > Reading configuration from: /var/www/gancio/config.json
févr. 28 16:59:13 node[3919]:  ERROR  self-signed certificate in certificate chain
févr. 28 16:59:13 node[3919]:   at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
févr. 28 16:59:13 node[3919]:   at TLSSocket.emit (node:events:517:28)
févr. 28 16:59:13 node[3919]:   at TLSSocket._finishInit (node:_tls_wrap:1070:8)
févr. 28 16:59:13 node[3919]:   at ssl.onhandshakedone (node:_tls_wrap:856:12)
févr. 28 16:59:13 node[3919]: 2025-02-28T15:59:13.960Z debug: GET /custom_css
févr. 28 16:59:13 node[3919]: 2025-02-28T15:59:13.961Z debug: GET /custom_js
févr. 28 16:59:14 node[3919]: 2025-02-28T15:59:14.031Z debug: GET /api/locale/en
févr. 28 16:59:14 node[3919]: 2025-02-28T15:59:14.044Z debug: GET /api/user
févr. 28 16:59:14 node[3919]: 2025-02-28T15:59:14.146Z debug: GET /api/instances/trusted
févr. 28 17:01:21 node[3919]: 2025-02-28T16:01:21.548Z debug: POST /oauth/login
févr. 28 17:01:32 node[3919]: 2025-02-28T16:01:32.131Z debug: POST /oauth/login
févr. 28 17:01:32 node[3919]: 2025-02-28T16:01:32.238Z debug: GET /api/user

J’ai résolu ce problème :

  • le mot de passe du mail se trouve dans le fichier /etc/yunohost/apps/gancio/settings.yml
  • Le mail doit appartenir au compte gancio donc j’ai mis gancio@calendrier.mondomaine.tld

Je m’en suis sorti en regardant les logs dans /var/log/gancio/logs/gancio.log

Mais le fait que j’utilise des certficats auto-signés m’empêchent d’utiliser correctement le produit … Il faut que je trouve un VPS … C’est une autre recherche qui commence !

Et non au compte sélectionné comme administrateur lors de l’installation ?

J’ai refait l’installation pour vérifier.

Le compte admin ne fonctionne pas out of the box.

Mais j’utilise un certifcat auto-signé … Et dans gancio.log je ne vois plus de problème SMTP …

Donc je rebloque … Je ne sais pas pourquoi, ça ne marche pas.

J’ai essayé de recréer le compte en BDD mais même chose.

Je me suis mis un alias dans mon compte admin yunhost :

  • admin@domain.tld
  • gancio@calendrier.domaine.tld

J’ai aussi recréer le compte admin avec directement le nom de l’alias mail gancio@calendrier.domain.tld mais pas mieux.

Je ne sais pas ce qui se passe.

Je n’ai aucune erreur dans les logs, juste un message sur le navigateur web que ma saisie n’est pas bonne.

En faisant mot de passe oublié, les logs me disent que la configuration SMTP n’est pas faite.

Ok, j’ai compris ce qui va pas. Quand on se connecte il appelle l’API oauth2 hors cette API nécessite certainement https et avec mon certificat auto-signé ben ça marche pas …

En plus le serveur SMTP est mal configuré out of the box pour le moment.

2025-03-08T07:37:05.752Z debug: POST /oauth/login
2025-03-08T07:37:05.885Z debug: GET /api/user
2025-03-08T07:40:28.920Z debug: POST /api/user/recover
2025-03-08T07:40:28.939Z error: Cannot send any email: SMTP Email configuration not completed!

Y a peut-être une manip qui a été introduite par le projet pour configurer le serveur SMTP sur gancio ?

Bonjour,

mon certificat n’est pas auto-signé. J’utilise LetsEncrypt. Et l’authentification ne fonctionne pas non plus.

Bonjour à nouveau,

pour info, mon serveur est en ligne avec un système de messagerie fonctionnel.

Le serveur ne servira pour l’instant que pour Gancio. Il est donc possible d’installer/réinstaller autant que nécessaire. :slight_smile:

Aux vues des premiers test, je vais créer un utilisateur particulier, qui sera l’admin de Gancio. C’est lui qui devrait recevoir les messages de modération. Ce qui permet de gérer la modération à plusieurs. Je ne sais pas si ce mode de fonctionnement est le plus pertinent et celui qui pourrait être par défaut pour toute installation.