Tentative d’installation de pigallery2 sur mon vieux raspberry B
On oublie tout de suite la version docker qui ne fonctionne pas et qui prend trop de ressources…
Va pour la version nodejs
Oubliez la version proposé par debian qui est obsolète et oubliez la commande qui va bien avec un curl http://nodejs | bash qui ne fonctionne pas
$ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\ sudo apt-get install -y nodejs ## Installing the NodeSource Node.js 20.x repo... ## You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the 'linux-armv6l' binary tarballs available directly from nodejs.org for Node.js 4 and later.
Le site officiel ne propose plus armv6… Donc on va aller sur un site non officiel, ça commence déjà bien.
On télécharge ⇒ https://unofficial-builds.nodejs.org/download/release/v18.16.0/node-v18.16.0-linux-armv6l.tar.gz
Puis on décompresse et on modifie le .profile
~ $ tar zxvf node-v18.16.0-linux-armv6l.tar.gz ~ $ vi .profile # on ajoute à la fin export PATH=~/node-v18.16.0-linux-armv6l/bin:$PATH
Avant de continuer, on va augmenter le fichier de swap
$ sudo swapoff /var/swap $ sudo dd if=/dev/zero of=/var/swap bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 72.7748 s, 14.8 MB/s $ sudo mkswap /var/swap Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=8ff4f538-9070-4720-80b1-2e110b1c7218 $ sudo swapon /var/swap
On télécharge l’appli, on dézippe et on lance l’install
cd ~ wget https://github.com/bpatrik/pigallery2/releases/download/1.9.5/pigallery2-release.zip unzip pigallery2-release.zip -d pigallery2 cd pigallery2 npm install npm ERR! code 1 npm ERR! path /home/manu/pigallery2/node_modules/bcrypt npm ERR! command failed # pour pallier à l'erreur de bcrypt, va remplacer bcrypt par bcryptjs # on cherche la version en cours $ npm search bcryptjs NAME | DESCRIPTION | AUTHOR | DATE | VERSION | KEYWORDS bcryptjs | Optimized bcrypt in… | =dcode | 2017-02-07 | 2.4.3 | bcrypt password auth authentication encryption crypt crypto # on remplace dans le fichier package.json : bcrypt par bcryptjs et on met la bonne version $ vi package.json # on peut lancer l'install et prendre un bon café d'1 heure... $ npm install
Modifier aussi le fichier /pigallery2/src/backend/model/PasswordHelper.js et remplacer bcrypt par bcryptjs
# Créer un répertoire **demo** mkdir demo $ npm start > pigallery2@1.9.5 start > node ./src/backend/index.js 12/05/2023, 21:13:44[INFO_][server] Running in DEBUG mode, set env variable NODE_ENV=production to disable 12/05/2023, 21:13:46[INFO_][server] running diagnostics... 12/05/2023, 21:13:47[WARN_][ConfigDiagnostics] [SQL error] Error: Could not locate the bindings file. Tried: → ~/pigallery2/node_modules/better-sqlite3/build/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/build/Release/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/Debug/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/out/Release/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/Release/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/build/default/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/compiled/18.16.0/linux/arm/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → ~/pigallery2/node_modules/better-sqlite3/lib/binding/node-v108-linux-arm/better_sqlite3.node 12/05/2023, 21:13:47[ERROR][ConfigDiagnostics] Error during initializing SQL DB, check DB connection and settings
Conclusion, Nodejs c’est de la merde.