Linux/rpi3 - installation infructueuse, SOS

Bonjour à tous !

Je ne suis pas développeur, mais suis utilisateur linux assez régulier, j’ai monté pas mal de distrib et fait pas mal de bidouillage …

Néanmoins, après plus de 3j de travail, je n’arrive toujours pas à installer kresus sur un rpi3. J’ai l’impression d’avoir essayé beaucoup de choses:

1/ J’ai tenté sous ubuntu mate (32 et 64bits), j’ai tenté sous DietPi (avec Mate), puis même sous Raspberry pi OS (raspbian), et il y a toujours un moment à l’installation de kresus où cela plante…
Globalement, lors de l’install de kresus (lors d’un npm install) j’ai beaucoup de warning de dependance qui ne sont plus à jour, jusqu’à arriver sur une partie qui fait un fail…
Dernièrement c’est le gifsicle qui fail

je pense que mon déploiement reste assez correct :
mais sur ma dernière et ultime tentative, je suis partie de la debian pour rpi, j’ai donc tenté de suivre le tuto présenté sur la page install kresus.org :

Donc, distribution fraîchement installée sans aucune autre install
J’ai vérif d’avoir npm/curl/python3/nodes.js/pip/pipx installés (en faisant les updates si déjà pré-installé)
Ensuite j’installe woob, via pipx (car sous la debian impossible de l’install via pip).

Premier problème : en faisant un « adduser kresus --disabled-password », cela ne permet pas de faire un su - kresus par la suite, car dévalider le password revient à interdire le login de l’utilisateur excepté via un ssh, donc je dois définir un password sinon on reste bloqué…

Je confirme avoir ces types d’erreurs ou des E404 sur toutes les tentatives sur toutes les distributions essayées …

  • Faut-il être développeur de kresus pour parvenir à l’installer ?
  • quelle est LA meilleure distrib pour un rpi afin de l’installer sans encombre ?
  • quelle est en 2024/10 la bonne manière d’installer kresus ? le bon tuto?
  • J’ai cru comprendre que l’installer via docker est un peu plus sensible et compliqué car il y a certaines failles à combler, et à ce que j’ai pu lire sur vos différents messages il vaut mieux être chevronné pour y parvenir …

En tout cas toute aide serait plus que magique pour moi !
Merci par avance !! (ci-dessous plus de détails)

linux 6.6.51+rpt-rpi-v8 aarch64
debian 12.2.0-14
npm 9.2.0
curl 7.88.1
python 3.11.2
pip 23.0.1
pipx 1.1.0

voici la fin du log au moment de l’install (après commande npm install, avant commande ./scripts/build.sh

3274 error 1 compiling from source
3274 error x Error: Command failed: /bin/sh -c autoreconf -ivf
3274 error /bin/sh: 1: autoreconf: not found
3274 error
3274 error
3274 error at /home/kresus/app/node_modules/execa/index. js:231: 11
3274 error at process . processTicksAndRejections (node : internal/process/task_queues :95:5) 
3274 error at async Promise. all (index 0)
3275 verbose exit 1
3276 timing npm Completed in 377133ms
3277 verbose unfinished npm timer reify 1729254295078
3278 verbose unfinished npm timer reify: build 1729254632879
3279 verbose unfinished npm timer build 1729254632892
3280 verbose unfinished npm timer build :deps 1729254632894
3281 verbose unfinished npm timer build : run: postinstall 1729254633590
3282 verbose unfinished npm timer build : run:postinstall:node_modules/cwebp-bin 1729254633592 
3283 verbose unfinished npm timer build : run : postinstall :node_modules/gifsicle 1729254633707 
3284 verbose unfinished npm timer build : run: postinstall :node modules/moz jpeg 1729254633734 
3285 verbose unfinished npm timer build : run : postinstall:node_modules/optipng-bin 17292546368Q3 
3286 verbose code 1```

Bonjour !

Alors, concernant le problème de compilation de la dépendance, on va essayer d’installer autoreconf comme indiqué déjà : sudo apt-get install autoconf.

Tu installes depuis npm ou depuis les sources ?

Peux-tu fournir tes étapes d’installation stp ?

Hello et merci déjà !

Pour ce qui est de la procédure j’ai fait à la suite l’installation de :
npm,curl,python3,nodes.js,pip,pipx depuis le raspbian tout neuf.
De mémoire python3 était déjà installé, ainsi que pip. J’ai installé quasi tout en Apt de mémoire.

Ensuite j’installe woob, via pipx
Puis j’ai suivi le tuto d’installation du site kresud.org via la « debian8 » qui revenait à faire cela :
~$ adduser kresus --disabled-password --gecos Kresus
~$ su - kresus
~$ mkdir ~/app ~/logs
~$ git clone //framagit.org/bnjbvr/kresus.git ~/app (je ne met pas le HTTPS pour ne pas avoir de lien dans mon msg)
~$ cd ~/app
~$ npm install

Malheureusement à la seconde commande (le Switch user sur kresus, cela ne peut fonctionner car le mot de passe étant dévalidé lors de la création de l’utilisateur il est impossible de se logger avec l’utilisateur (sécurité linux) , j’ai donc recrée un vrai password pour user kresus pour continuer les commandes,
Je récupère donc les sources du git
Et je fais l’installation avec le npm install et cela plante suivant le log partagé

Après s’il existe un tuto pas à pas qui fonctionne avec les sources, dépendances d’aujourd’hui et sur une distribution « compatible » ou « utilisable » sur rpi3 je serai preneur ! Ça ne me gène pas de tout refaire au propre une nième fois :wink:

D’ailleurs le lien du tuto pour rpi3 sur la page kresus org n’est plus valide (le site n’existe plus)

J’espère avoir pu être assez précis dans mon explication

Merci !

Justement, le site kresus.org ne liste pas ces commandes, ça doit être un site externe non à jour…

Peux-tu essayer ce que j’ai donné précédemment (installer autoconf) et retenter ?

Hello et encore merci de votre aide !!!

La bonne nouvelle est que j’ai progressé d’une étape ! Avec l’autoconf l’installation s’est bien terminée !

J’ai par la suite installer un serveur apache2

Puis j’ai suivi la page « administration » pour configurer et lancer kresus …et cela rebloque mais là je dépasse mes pauvres connaissances techniques… J’ai mis une photo des messages (désolé mais depuis mon rpi le browser internet est trop lent pour le faire en printscreen lol)

Voilà … encore merci pour votre aide !
Je reposé ma précédente question : existe-il un tuto à jour qui permette de s’en sortir ?

kresus.org devrait être à jour, mais pour les configurations de reverse proxy, ce n’est pas documenté en effet (mais on fournit des fichiers examples).

Peux-tu fournir toutes tes étapes d’installation stp ?

Merci nicofrand, par contre je n’ai pas tenu de liste de ttes les commandes que j’ai pu faire depuis l’installation de la distribution neuve pour kresus… j’ai tenté de donner la liste de tout ce que j’ai installé (sans aller dans le détail si via non ou via Apt etc…) . à la limite il me serait plus simple de suivre un pas a pas. Par rapport à votre commentaire, si je peux faire de mon rpi un reverse proxy serveur + serveur kresus why not. Je n’ai pas d’autres serveur sur mon réseau de toute façon (mais je n’ai pas vu sur le site, j’ai sûrement mal chercher)

Difficile de savoir ce que tu cherches à faire exactement sans avoir les logs du coup.
J’ai l’impression que tu essaies d’installer depuis les sources, et je me demande si tu n’utilises pas une version obsolète.

Si ton raspberry est neuf, je te suggère de regarder YunoHost : ça permet de gérer tout un tas de choses facilement et d’installer des applications facilement, dont Kresus.

Bonjour,

J’ai un rpi3, donc pas tout récent, mais comme expliqué j’ai tenté différentes distrib. donc avec une SD « vierge » à chaque fois.

Mais comme je ne suis pas certain de pouvoir ressortir tous les logs depuis le début, je pense à nouveau re-tenter de zéro, ce sera plus simple.

si je n’y parviens pas, je tenterai alors le yunohost

Bonjour,

j’ai pu faire un history sur les deux users afin de vous donner toute l’historique.
Le premier avec l’user « monuser » puis à la création de « kresus » l’historique de kresus (j’ai uniquement supprimé quelques lignes avec des ls des cd qui n’ont pas d’intérêt ou encore des erreurs de syntaxes)

1/ history monuser :

    1  cd woob
    2  pip install .
    3  cd ..
    4  python
    5  pipx
    6  sudo apt install pipx
    7  pipx ensurepath
    8  pipx install woob
    9  pipx inject woob python-jose
   12  adduser kresus --disabled-password --gecos Kresus
   13  sudo adduser kresus --disabled-password --gecos Kresus
   14  su - kresus
   24  sudo cd kresus
   25  sudo apt install curl git make gcc build-essential python3-setuptools python3-dev python3-lxml python3-html2text python3-yaml python3-pil python3-pip
   27  sudo curl -sL https://deb.nodesource.com/setup_18.x | bash -
   28  sudo apt-get install autoconf
   29  su - kresus
   30  sudo apt-get install autoconf
   31  sudo apt-get update
   33  apt get update
   34  sudo apt upgrade
   35  sudo curl -sL https://deb.nodesource.com/setup_18.x | bash -
   36  su
   37  sudo apt install python-prettytable
   38  woob update
   39  su - kresus
   40  nano /etc/systemd/system/kresus.service
   41  sudo apt install apache2
   42  a2enmod proxy_http
   43  sudo a2enmod proxy_http
   44  systemctl restart apache2
   46  sudo htpasswd -c /home/kresus/.htpasswd monuser
   47  sudo nano /etc/apache2/sites-available//kresus.conf
   48  ifconfig
   49  sudo nano /etc/systemd/system/kresus.service
   50  systemctl daemon-reload
   51  systemctl start kresus.service
   52  su - kresus
   53  history
   54  pwd
   55  history >history_terminal_pask

2/ History kresus :

    1  cd ~/app
    2  npm install
   17  npm update
   18  npm install --production --prefix ~/app/kresus kresus
   19  cd ~/app
   20  npm install
   21  npm uninstall kresus
   22  cd /home/kresus/app/node_modules
   25  npm install kresus sqlite3
   26  npm rebuild
   28  ./tools/local_install.sh ~/bin
   35  cd kresus/woob
   40  cd ~
   42  git clone https://gitlab.com/woob/woob
   43  cd woob/
   44  ./tools/local_install.sh ~/bin
   45  cd -
   46  KRESUS_WEBOOB_DIR=~/bin NODE_ENV=production KRESUS_PYTHON_EXEC=python3 KRESUS_DB_TYPE=sqlite KRESUS_DB_SQLITE_PATH=/home/kresus/kresus.sqlite ./node_modules/kresus/bin/kresus.js
   47  woob update
   49  cd woob/
   50  woob update
   52  ./woob
   54  woob config modules
   56  cd ~
   58  pipx inject woob python1
   59  pipx instal
   60  pipx inject woob python-jose
   61  woob update
   64  cd woob/
   65  woob update
   67  cd woob/
   69  cd applications/
   71  cd ../..
   74  ./tools/local_install.sh  ~/bin*
   75  pipx ensurepath
   76  woob update
   80  pipx update
   81  pipx update woob
   82  pipx upgrade
   83  pipx upgrade woob
   85  cd /home/kresus/.local/pipx/venvs/woob/
   87  pipx ensurepath
   88  woob update
   92  woob config-qt
   96  woob config add xxxxxx
   98  woob bank
   99  sudo apt install python-prettytable
  100  woob
  102  woob bank --help
  103  woob bank list
  104  ./bin/kresus.js 'create:config' > config.ini
  129  cd app/
  130  ./bin/kresus.js 'create:config' > config.ini
  131  npm install core.js
  132  cd ~
  133  npm install core.js
  134  npm audit fix
  135  cd app/
  136  ./bin/kresus.js 'create:config' > config.ini
  138  exit

j’espère que cela vous donnera une bonne idée de ce que j’ai pu faire

Merci et bonne journée/soirée :wink:
Pask

Il y a un sacré mélange de différentes commandes et de choses obsolètes, sûrement liées aux liens obsolètes sur tu cites…

As-tu regardé pour Yunohost ? Ce serait vraiment plus simple pour toi je pense.

En tout cas encore une fois, merci vraiment d’aider les petits débutants perdus comme moi et de prendre le temps !! J’espère ne pas être trop saoulant, mais oui ce serait peut-être plus facile avec l’image faite, mais je suis un peu têtu :wink: et je n’aime pas ne pas comprendre…
J’ai à nouveau tenté l’installation propre, le résultat était bien meilleur cette fois-ci en ne suivant que les infos depuis le site officiel et sans mélanger les « tutos » => je pense qu’ici j’arrive quasi au niveau de Yunohost :

J’ai désormais Kresus qui tourne en local,
Je précise et confirme que woob fonctionne bien et je peux en manuel depuis le terminal aller vérifier mes comptes.

Néanmoins, en me connectant sur 127.0.0.1:9876 , il démarre bien en chargeant kresus mais erreur avec woob, il n’arrive pas à utiliser woob. 'please install woob 3.5 or later"
=> J’ai cru lire qu’il y avait parfois ce problème sur rpi3 (problème de mémoire)

je ne sais pas si normal, mais en tentant avec son adresse IP locale (type 192.168.xx.xx) => site inaccessible

Je me suis dit que je pourrai peut-être y accéder via un phone ou ordi sur le même réseau local … du coup j’en suis arrivé à penser mettre apache2 :
Mais là je rentre en total terra incognita pour moi … j’ai copié le apache.conf présent dans le répertoire support de kresus (pour apache) en l’adaptant avec mes paramètres et IP, mais cela n’a pas l’air de fonctionner, j’ai dû ajouter qq modules pour avancer … étant bloqué avec une erreur la ligne du certificat SSL, en effet je n’en ai pas… J’ai continué ma chasse au trésor et ai décidé d’installer certbot (let’s encrypt) mais là je perds totalement le déroulé… et je n’arrive pas à obtenir un certificat (j’ai un nom de domaine sur ovh, mais jamais utilisé) mais dans tous les cas, dans un premier temps, je ne cherche qu’à utiliser kresus sur mon réseau local…

à toute fin utile, voici mon log de commande, à défaut d’être parfait, il permet pour le moment d’installer l’ensemble jusqu’à la gestion du serveur apache… cela pourra peut-être aider des futures obstiné comme moi (j’aime bien comprendre pourquoi cela ne veut pas fonctionner)

   10  sudo apt-get install npm nodejs
   14  sudo apt-get install pipx
   15  pipx install woob
   16  pipx ensurepath
<<< REBOOT>>>
   17  sudo apt-get install autoconf
   18  sudo apt-get install autoconf-archive gnu-standards autoconf-doc libtool gettext m4-doc
   20  sudo npm install --production -g kresus
   28  woob config add xxxxx
   31  cd /usr/local/lib/node_modules/kresus
   33  sudo ./bin/kresus.js 'create:config' > config.ini
   36  woob config list
   37  woob bank list
   37  cd ~
   39  /usr/local/lib/node_modules/kresus/bin/kresus.js 'create:config' > config.ini

**** INSTALL de POSTRESQL *****
   45  sudo apt install gnupg2 wget
   46  sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
   47  curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
   48  sudo apt update
   49  sudo apt install postgresql-16 postgresql-contrib-16
   50  sudo apt-get install ca-certificates curl
   51  sudo install -m 0755 -d /etc/apt/keyrings
   52  sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
   53  sudo chmod a+r /etc/apt/keyrings/docker.asc
   62  echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings//docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "bookworm") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
   63  sudo apt-get update
   64  sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
   68  sudo docker pull caronc/apprise:latest

***** initialisation de la base de données et création du rôle *******
   76  sudo -i -u postgres
psql
CREATE ROLE user LOGIN PASSWORD 'xxxxxx';
CREATE DATABASE kresus OWNER user;

******* lancement de kresus !! *******
   77  sudo /usr/local/lib/node_modules/kresus/bin/kresus.js --config /home/pask/config.ini

-----------------------------
erreur sur woob, alors que woob fonctionne très bien, mais kresus n'arrive pas à l'appeler depuis le browser
donc, je cherche à l'interroger depuis une autre IP sur même réseau local
donc => install server web (d'abord j'ai installé nginx avant de me raviser et partir sur apache2, j'ai eu des soucis alors car j'avais oublié d'arrêter le service nginx) => j'ai changé le nom de domaine par mondomaine ci-dessous
-----------------------------

   39  sudo apt-get install nginx
   40  sudo apt-get install apache2
   41  cd /etc/apache2/sites-available
   44  sudo touch kresus.mondomaine.com.conf
   45  sudo nano kresus.mondomaine.com.conf 
   46  sudo htpasswd -c /etc/apache2/.htpasswd user
   48  sudo a2ensite kresus.mondomaine.com.conf
   67  sudo apt-get install mod_ssl
   68  sudo a2enmod ssl
   75  sudo a2enmod proxy_http
   78  sudo a2enmod auth_digest
   83  sudo systemctl stop nginx
   84  systemctl restart apache2

---------------
le serveur web fonctionne en local, il est vide (page défaut debian)
mais accès via autre adresse IP locale ne fonctionne pas
introuvable
tenté avec un nom de domaine inventé, ou avec adresse IP pure
---------------

  110  sudo cp /usr/local/lib/node_modules/kresus/support/apache/apache.conf /etc/apache2/sites-available/
  121  sudo a2ensite apache.conf
  122  sudo systemctl reload apache2
  123  sudo systemctl status apache2.service
  124  sudo nano apache.conf

***** INSTALL de certbot ******
  139  sudo apt-get install certbot  python3-certbot-apache
  140  sudo certbot --apache -d mondomaine.com -d www.mondomaine.com
  146  sudo a2enmod headers
  147  systemctl restart apache2

  148  sudo systemctl status apache2.service
  149  sudo certbot --apache -d mondomaine.com -d www.mondomaine.com
  150  sudo certbot --apache -d mondomaine.com

MERCI ENCORE INFINIMENT !

Pour woob, il faut en indiquer le chemin à Kresus dans le config.ini.

C’est bien ce que tu as fait ?

oui woob était dans le PATH, mais au cas où j’ai fait un test en indiquant en dure dans la variable config.ini le chemin de woob, mais pas mieux :frowning:

Nous y voilà enfin !!

Après de longs longs efforts, j’ai pu tout lancer convenablement !
j’ai pu lancer apache2 et y avoir accès depuis un autre ordi sur le réseau local (config du serveur apache à bien faire les bons listen sur la bonne IP)

puis étant donné que à distance j’avais le même problème où woob n’était pas trouvé, j’ai pu en conclure que ce n’était pas une histoire de lenteur du pi pour afficher les pages web, mais bien d’un problème d’accès à woob …

j’ai bien vérifier de mettre le path du core de woob dans le fichier de config de kresus, à savoir /home/user/.local/pipx/venvs/woob/lib/python3.11/site-packages.
Mais rien n’y faisait …

Je suis alors allé directement dans le code python du main de woob dans kresus (/usr/local/lib/node_modules/kresus/build/server/providers/woob/py)
j’y ai ajouté en dure l’ajout du répertoire via sys.path.append ('… ')

(j’avoue ne pas bien comprendre pourquoi le chemin inscrit dans le fichier de config de kresus ne passe pas dans ce fichier main.py par contre … car c’est bien exactement le même ! )

mais bref, la connexion s’est bien faite ! enfin ! youpi !

voilà … si cela permet d’aider et de donner des idées aux prochains, cela permettra de peut-être économiser du temps :slight_smile:

je vais pouvoir découvrir un peu tout ça maintenant !

1 « J'aime »