Installer do•doc en ligne

Il y a aussi cette ligne, après la commande d’installation npm, que je trouve suspecte : « This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I’ll try to do my best with it! » Est-ce que ça pourrait être une piste pour le « non démarrage » de Dodoc?

Effectivement, bon indice :slight_smile:
Les derniers développements de do•doc (version 9.3.0-dev et suivante) nécessitent l’utilisation de node 16.13.0 pour lancer dodoc (ou pm2).
Mais toujours dodoc 12.18.3 pour fabriquer le fichier build.js dans /public.

Si besoin utiliser nvm use dans le dossier principal ou le dossier /public pour bascul automatique vers la bonne version de node.

On avance, on avance! :slight_smile:
Mais ça merdouille toujours !

root@vps-5e2b164d:~# nvm install 16.13.0
v16.13.0 is already installed.
Now using node v16.13.0 (npm v8.1.0)
root@vps-5e2b164d:~# nvm use 16.13.0
Now using node v16.13.0 (npm v8.1.0)
root@vps-5e2b164d:~# nvm alias default 16.13.0
default -> 16.13.0 (-> v16.13.0)
root@vps-5e2b164d:~# cd dodoc
root@vps-5e2b164d:~/dodoc# git checkout dodoc2-dev-node
M	package-lock.json
M	public/package-lock.json
Already on 'dodoc2-dev-node'
Your branch is up to date with 'origin/dodoc2-dev-node'.
root@vps-5e2b164d:~/dodoc# npm install

up to date, audited 580 packages in 5s

27 packages are looking for funding
  run `npm fund` for details

20 vulnerabilities (7 moderate, 9 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
root@vps-5e2b164d:~/dodoc# cd public
root@vps-5e2b164d:~/dodoc/public# npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webrtc-adapter@1.4.0',
npm WARN EBADENGINE   required: { npm: '~3.0.0' },
npm WARN EBADENGINE   current: { node: 'v16.13.0', npm: '8.1.0' }
npm WARN EBADENGINE }

up to date, audited 1343 packages in 11s

17 packages are looking for funding
  run `npm fund` for details

105 vulnerabilities (54 moderate, 39 high, 12 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
root@vps-5e2b164d:~/dodoc/public# nvm use 12.18.3
Now using node v12.18.3 (npm v6.14.6)
root@vps-5e2b164d:~/dodoc/public# npm run build

> dodoc2@0.1.0 build /root/dodoc/public
> cross-env NODE_ENV=production browserify -g envify -e src/main.js | uglifyjs -c warnings=false -m > dist/build.js

root@vps-5e2b164d:~/dodoc/public# cd ../
root@vps-5e2b164d:~/dodoc# nvm use 16.13.0
Now using node v16.13.0 (npm v8.1.0)
root@vps-5e2b164d:~/dodoc# npm run debug

> dodoc@9.3.0-dev debug
> node --inspect . --debug --debug --verbose

Debugger listening on ws://127.0.0.1:9229/c769df8b-52dc-4a5d-b3c3-73390ad59820
For help, see: https://nodejs.org/en/docs/inspector
INDEX / didn’t find override settings
node:internal/modules/cjs/loader:1183
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: The module '/root/dodoc/node_modules/canvas/build/Release/canvas.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 93. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/root/dodoc/node_modules/canvas/lib/bindings.js:3:18)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}
root@vps-5e2b164d:~/dodoc# 

Il y a aussi peut-être un petit truc à régler avec npm, parce que j’ai eu une proposition de mise à jour en réinstallant :

root@vps-5e2b164d:~/dodoc# npm install
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile 
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile 

up to date, audited 580 packages in 36s

27 packages are looking for funding
  run `npm fund` for details

20 vulnerabilities (7 moderate, 9 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
npm notice 
npm notice New minor version of npm available! 8.1.0 -> 8.7.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.7.0
npm notice Run npm install -g npm@8.7.0 to update!
npm notice 

C’est possible que j’ai oublié de faire certaines choses, ou pas dans le bon ordre… (installtion et utilisation des différentes version de node, notamment) Y a-t-il des actions « implicites », des lignes de commande, qui ne figurent pas dans ta réponse et que je devrais ajouter? Sinon, je vais essayer de réinstaller le serveur et reprendre tout à zéro.

Le mieux :

  1. dans / , rm -rf node_modules, nvm use, npm i
  2. dans /public, rm -rf node_modules, nvm use, npm i, npm run build
  3. retour à /, npm run debug et vérifier que ça démarre bien

J’ai fait ce que tu as indiqué, et ça donne ça :

debian@vps-5e2b164d:~$ sudo su -
root@vps-5e2b164d:~# cd dodoc
root@vps-5e2b164d:~/dodoc# rm -rf node_modules
root@vps-5e2b164d:~/dodoc# nvm use
Found '/root/dodoc/.nvmrc' with version <v16.13.0>
Now using node v16.13.0 (npm v8.1.0)
root@vps-5e2b164d:~/dodoc# npm i
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated lru-cache@7.4.1: Please update to latest patch version to fix memory leak https://github.com/isaacs/node-lru-cache/issues/227
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated puppeteer@2.1.1: Version no longer supported. Upgrade to @latest

added 579 packages, and audited 580 packages in 35s

27 packages are looking for funding
  run `npm fund` for details

20 vulnerabilities (7 moderate, 9 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
root@vps-5e2b164d:~/dodoc# cd public
root@vps-5e2b164d:~/dodoc/public# rm -rf node_modules
root@vps-5e2b164d:~/dodoc/public# nvm use
Found '/root/dodoc/public/.nvmrc' with version <v12.18.3>
Now using node v12.18.3 (npm v6.14.6)
root@vps-5e2b164d:~/dodoc/public# npm i
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> node-sass@4.14.1 install /root/dodoc/public/node_modules/node-sass
> node scripts/install.js

Cached binary found at /root/.npm/node-sass/4.14.1/linux-x64-72_binding.node

> core-js@3.4.8 postinstall /root/dodoc/public/node_modules/plyr/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> node-sass@4.14.1 postinstall /root/dodoc/public/node_modules/node-sass
> node scripts/build.js

Binary found at /root/dodoc/public/node_modules/node-sass/vendor/linux-x64-72/binding.node
Testing binary
Binary is fine
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1326 packages from 842 contributors and audited 1396 packages in 33.556s

17 packages are looking for funding
  run `npm fund` for details

found 219 vulnerabilities (1 low, 78 moderate, 102 high, 38 critical)
  run `npm audit fix` to fix them, or `npm audit` for details
root@vps-5e2b164d:~/dodoc/public# npm run build

> dodoc2@0.1.0 build /root/dodoc/public
> cross-env NODE_ENV=production browserify -g envify -e src/main.js | uglifyjs -c warnings=false -m > dist/build.js

root@vps-5e2b164d:~/dodoc/public# cd ../
root@vps-5e2b164d:~/dodoc# npm run debug

> dodoc@9.3.0-dev debug /root/dodoc
> node --inspect . --debug --debug --verbose

Debugger listening on ws://127.0.0.1:9229/05ba2a6f-f986-4d63-8d7f-d6fbe0a1f684
For help, see: https://nodejs.org/en/docs/inspector
INDEX / didn’t find override settings
internal/modules/cjs/loader.js:1187
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: The module '/root/dodoc/node_modules/canvas/build/Release/canvas.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 93. This version of Node.js requires
NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1187:18)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/root/dodoc/node_modules/canvas/lib/bindings.js:3:18)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! dodoc@9.3.0-dev debug: `node --inspect . --debug --debug --verbose`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the dodoc@9.3.0-dev debug script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-04-19T13_46_41_163Z-debug.log
root@vps-5e2b164d:~/dodoc# 

ça ne démarre pas…

Il faut rechanger de version de node, il te manque un nvm use dans / avant de lancer npm run debug je pense :slight_smile:

EDIT : l’erreur

NODE_MODULE_VERSION 93. This version of Node.js requires
NODE_MODULE_VERSION 72. 

indique que tu lances une version de node différente de celle utilisée par npm install

ça marche, nom d’une pipe en bois d’olivier! Merci Louis!

Tout cela est maintenant derrière nous, dodoc-dev et dodoc-dev-node utilisent node 16 pour le dossier principal et le dossier public. Ça simplifie pas mal l’installation :slight_smile:

1 « J'aime »

Mise à jour de dodoc 9 en version « développement » : 9.3.7-dev
Sur les branches dodoc2-dev et dodoc2-dev-node

Au menu :

  • résolu d’un bug qui empêchait l’export de certaines recettes de la marmite
  • possibilité d’augmenter la limite de taille des fichiers acceptés à l’importation (par défaut 200mo, pour l’augmenter il faut ajouter la propriété maxFileSizeForUpload au fichier settings.json, voir le premier post. La valeur à indiquer est en mo.)
  • en lien avec le point précédent, l’envoi d’un fichier plus lourd ne fait plus redémarrer dodoc, et affiche maintenant la raison de l’échec de l’envoi
1 « J'aime »

Mise à jour du tutoriel pour indiquer que la procédure pour installer Certbot a changé, et pour indiquer les nouvelles lignes de commande à utiliser.

Hello, cela vient peut-être du fait que j’essaie d’installer DoDoc sur un NAS Synology via Docker ?
Mais pour moi, le build dans /public ne peut se faire qu’avec une version nvm 14 car on me dit qu’il n’y a pas de correspondance entre Linux et Node 16 dans la table de compatibilité.

cf Installer do•doc sur un NAS Synology - #7 par FabLabEcoCentre

Error: Missing binding /home/dodoc/public/node_modules/node-sass/vendor/linux-x64-93/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 16.x

Found bindings for the following environments:

  • OS X 64-bit with Node.js 16.x
  • Linux 64-bit with Node.js 14.x

Bonjour !

Grosse mise à jour du tuto avec les changements de nom de branche (voir Do•doc version 10 : finalisation, présentation - #28 par louis ).

Je propose aussi de changer le nom du dossier de contenus par défaut, de dodoc_next vers dodoc :

  • le dossier dodoc2 date de 2019 (voir plus ancien, je ne retrouve plus la trace)
  • en démarrant le travail sur la v10 il y a 2 ans, j’avais choisi un nouveau nom par défaut : dodoc_next, pour éviter d’utiliser des contenus présents en v9 et pas compatibles avec la v10.

Du coup je me dis qu’on peut revenir à dodoc tout court, il y a extrêmement peut de chance qu’un utilisateur ai déjà un dossier dodoc (qui daterait d’une installation avant 2019 donc).

Par contre le soucis que je vois : on casse toutes les installations actuelles de dodoc 10 qui utilisent le dossier par défaut Documents/dodoc_next – à l’installation, ça va chercher un dossier Documents/dodoc et le créer s’il n’existe pas. Pour reprendre ses contenus, il faudra soit renommer à la main le dossier dodoc_next en dodoc, soit utiliser la fonctionnalité admin Stockage pour indiquer que le dossier de stockage est ce dossier dodoc_next (possible uniquement dans la version appli, dans la version serveur il faudra modifier le fichier settings.json, voir tuto ci-dessus).

Bon pour vous ?

1 « J'aime »

Je veux bien le tuto pour le renommage json. J’avais préparé une version Raspberry en mode serveur pour le Blobus, j’y ai passé pas mal de temps, je veux bien réécrire le json pour faire fonctionner la mise à jour avec le bon dossier de stockage. Peut-être que @julien pourra nous refaire une enième mise à jour du tuto d’installation Rasp du coup… :wink:

1 « J'aime »

Salut @Cat_FacLab-Numixs

Si c’est une version serveur ça ne devrait pas trop poser de problème, le paramétrage que tu as fait devrait être conservé.

Donc pour une mise à jour de dodoc10 :

Dans le terminal saisir les commandes suivantes:

cd dodocgit/dodoc10 
git pull

Là ça devrait charger les nouvelles branches, donc on peut la changer et passer sur la nouvelle en faisant :

git reset --hard
git checkout main-node

Pour passer sur la version de node à jour utilisée :
nvm install 20.9.0

Et après on reprend les commandes habituelles :

nvm use
npm install
npm run start

Edit :
J’ai profité de l’occasion pour mettre la documentation que j’avais à jour et la déposer ici
https://test10.dodoc.fr/+do-doc-10-espace-de-demo-et-test/dodoc-raspberry-pi

Ça donnera un peu de visibilité et ça évitera de fouiller dans le forum à chaque fois pour retrouver ce tuto

1 « J'aime »

Le changement de nom de dossier est opérationnel !
Si vous git pull la branche main-node et qu’en redémarrant le process vous ne voyez plus vos contenus, pas d’inquiétude !

Soit vous créez/modifiez un fichier settings.json pour contenir :

{
  "contentPath": "dodoc_next"
}

Soit vous renommez votre fichier de contenu dodoc_next en dodoc

Puis vous relancez le serveur dans les deux cas.

@PixnWave dans Do•doc version 10 : finalisation, présentation - #31 par PixnWave

Je peux installer la version v20.9.0 pour la V10 et continuer sur la V9 en V16.13.0 sur le même serveur ?

Oui, aucun soucis. Avec nvm, tu peux avoir d’installé plusieurs versions de node en parallèle.
En utilisant nvm use quand tu es dans le dossier de l’install dodoc que tu veux installer/lancer, il basculera vers la bonne version de node. Si nvm use t’affiche que la version de node nécessaire n’est pas installée, tu peux l’installer avec nvm install puis tu relances nvm use.

Si par erreur tu npm install alors que tu utilises la mauvaise version de node, je recommande de supprimer le dossier node_modules : rm -rf node_modules avant de relancer npm install. Ce dossier node_modules contient toutes les dépendances : ffmpeg pour créer de la vidéo, sharp pour créer des images, etc. Il peut être supprimé sans risque, et réinstallé avec npm install.

1 « J'aime »

comme tu as fais le ménage de branch je fais le ménage aussi :wink: je constate un léger bazar dans mon organisation … tu vois un précaution supplémentaire à prendre ?

Un petit backup de ton dossier Documents de temps en temps ? Et sinon ça devrait le faire, faut juste pas essayer de migrer une v9 vers une v10 :slight_smile:

1 « J'aime »

j’ai toujours le bug d’export pdf sur la v9 … j’ai mis chat gpt et gemini sur le cout mais je n’ai pas de réponse très convaincante… voiçi ce qui sort aprés avoir coller le code en mode run debug sur gemini https://gemini.google.com/share/dbc1110c5651

Ça donne 0 infos, désolé… La v10 sur main-node avec un node et puppeteer récent fonctionnent ?