Re-téléverser une vidéo

Bonjour,

Je travaille pour une collectivité et je teste actuellement une instance Peertube qui nous a été installé par un prestataire.
À notre demande, la société nous a mis à disposition un accès SSH en tant qu’utilisateur « webtv » qui est celui ayant les droits d’admin sur l’instance (à la place de l’habituel « peertube » ). On n’a pas d’avantage de droit pour des raisons de sécurité (de nombreux autres services en prod sur le même serveur).
Bref, cette intro donne un peu le contexte du pourquoi on fait pas exactement comme les autres sur les commandes qui seront cités un peu plus bas :slight_smile:

On a besoin pour des raisons de fonctionnement d’être en mesure de pouvoir re-téléverser des vidéos sur des liens permanents, on sait que la demande d’intégrer cela sur l’interface web a déjà été fait, en espérant que ça aboutisse un jour. En attendant on teste la solution « create-import-video-file-job » qui permet de faire cela en ssh.

Par rapport à notre serveur, on ne peut pas lancer la commande telle que décrite sur la doc (sudo -u peertube), on se connecte directement sur son équivalent « webtv ».

Lorsque je lance la commande, indiquant la référence du lien ainsi que la vidéo déjà téléversée sur le serveur, la procédure se termine sur des erreurs. Il y en a plein que je ne comprends pas, mais je pense que c’est la toute première qui engendre les suivantes.
Pour l’exemple, j’ai remplacé le nom de domaine du serveur :

webtv@domaine.org:~/www/peertube-latest$ cd /var/alternc/html/w/webtv/www/peertube-latest
webtv@domaine.org:~/www/peertube-latest$ NODECONFIGDIR=/var/alternc/html/w/webtv/www/config NODE_ENV=production npm run create-import-video-file-job -- -v f0e1f146-cc41-4836-ad2a-4eee6a9a0478 -i /var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4

> peertube@3.0.1 create-import-video-file-job /var/alternc/html/w/webtv/www/versions/peertube-v3.0.1
> node ./dist/scripts/create-import-video-file-job.js "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"

WARNING: NODE_ENV value of 'production' did not match any deployment config file names.
WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
ConnectionError [SequelizeConnectionError]: authentification par mot de passe échouée pour l'utilisateur  « peertube »
    at Client._connectionCallback (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:184:24)
    at Client._handleErrorWhileConnecting (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg/lib/client.js:305:19)
    at Client._handleErrorMessage (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg/lib/client.js:325:19)
    at Connection.emit (events.js:314:20)
    at /var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg/lib/connection.js:115:12
    at Parser.parse (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:40:17)
    at Socket.<anonymous> (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/index.js:10:42)
    at Socket.emit (events.js:314:20)
    at addChunk (_stream_readable.js:297:12)
    at readableAddChunk (_stream_readable.js:272:9)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
  parent: error: authentification par mot de passe échouée pour l'utilisateur  « peertube »
      at Parser.parseErrorMessage (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:278:15)
      at Parser.handlePacket (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:126:29)
      at Parser.parse (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:39:38)
      at Socket.<anonymous> (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/index.js:10:42)
      at Socket.emit (events.js:314:20)
      at addChunk (_stream_readable.js:297:12)
      at readableAddChunk (_stream_readable.js:272:9)
      at Socket.Readable.push (_stream_readable.js:213:10)
      at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
    length: 132,
    severity: 'FATAL',
    code: '28P01',
    detail: undefined,
    hint: undefined,
    position: undefined,
    internalPosition: undefined,
    internalQuery: undefined,
    where: undefined,
    schema: undefined,
    table: undefined,
    column: undefined,
    dataType: undefined,
    constraint: undefined,
    file: 'auth.c',
    line: '308',
    routine: 'auth_failed'
  },
  original: error: authentification par mot de passe échouée pour l'utilisateur  « peertube »
      at Parser.parseErrorMessage (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:278:15)
      at Parser.handlePacket (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:126:29)
      at Parser.parse (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/parser.js:39:38)
      at Socket.<anonymous> (/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/pg-protocol/dist/index.js:10:42)
      at Socket.emit (events.js:314:20)
      at addChunk (_stream_readable.js:297:12)
      at readableAddChunk (_stream_readable.js:272:9)
      at Socket.Readable.push (_stream_readable.js:213:10)
      at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
    length: 132,
    severity: 'FATAL',
    code: '28P01',
    detail: undefined,
    hint: undefined,
    position: undefined,
    internalPosition: undefined,
    internalQuery: undefined,
    where: undefined,
    schema: undefined,
    table: undefined,
    column: undefined,
    dataType: undefined,
    constraint: undefined,
    file: 'auth.c',
    line: '308',
    routine: 'auth_failed'
  }
}
npm ERR! code ELIFECYCLE
npm ERR! errno 255
npm ERR! peertube@3.0.1 create-import-video-file-job: `node ./dist/scripts/create-import-video-file-job.js "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"`
npm ERR! Exit status 255
npm ERR! 
npm ERR! Failed at the peertube@3.0.1 create-import-video-file-job 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!     /var/alternc/html/w/webtv/.npm/_logs/2021-01-21T08_45_00_885Z-debug.log

Le fichier log généré :

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'run',
1 verbose cli   'create-import-video-file-job',
1 verbose cli   '--',
1 verbose cli   '-v',
1 verbose cli   'f0e1f146-cc41-4836-ad2a-4eee6a9a0478',
1 verbose cli   '-i',
1 verbose cli   '/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4'
1 verbose cli ]
2 info using npm@6.14.10
3 info using node@v12.20.1
4 verbose run-script [
4 verbose run-script   'precreate-import-video-file-job',
4 verbose run-script   'create-import-video-file-job',
4 verbose run-script   'postcreate-import-video-file-job'
4 verbose run-script ]
5 info lifecycle peertube@3.0.1~precreate-import-video-file-job: peertube@3.0.1
6 info lifecycle peertube@3.0.1~create-import-video-file-job: peertube@3.0.1
7 verbose lifecycle peertube@3.0.1~create-import-video-file-job: unsafe-perm in lifecycle true
8 verbose lifecycle peertube@3.0.1~create-import-video-file-job: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/var/alternc/html/w/webtv/www/versions/peertube-v3.0.1/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
9 verbose lifecycle peertube@3.0.1~create-import-video-file-job: CWD: /var/alternc/html/w/webtv/www/versions/peertube-v3.0.1
10 silly lifecycle peertube@3.0.1~create-import-video-file-job: Args: [
10 silly lifecycle   '-c',
10 silly lifecycle   'node ./dist/scripts/create-import-video-file-job.js "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"'
10 silly lifecycle ]
11 silly lifecycle peertube@3.0.1~create-import-video-file-job: Returned: code: 255  signal: null
12 info lifecycle peertube@3.0.1~create-import-video-file-job: Failed to exec create-import-video-file-job script
13 verbose stack Error: peertube@3.0.1 create-import-video-file-job: `node ./dist/scripts/create-import-video-file-job.js "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"`
13 verbose stack Exit status 255
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:314:20)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:314:20)
13 verbose stack     at maybeClose (internal/child_process.js:1022:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)
14 verbose pkgid peertube@3.0.1
15 verbose cwd /var/alternc/html/w/webtv/www/versions/peertube-v3.0.1
16 verbose Linux 4.9.0-0.bpo.5-amd64
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "create-import-video-file-job" "--" "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"
18 verbose node v12.20.1
19 verbose npm  v6.14.10
20 error code ELIFECYCLE
21 error errno 255
22 error peertube@3.0.1 create-import-video-file-job: `node ./dist/scripts/create-import-video-file-job.js "-v" "f0e1f146-cc41-4836-ad2a-4eee6a9a0478" "-i" "/var/alternc/html/w/webtv/tmp/videologicielsdsit.mp4"`
22 error Exit status 255
23 error Failed at the peertube@3.0.1 create-import-video-file-job script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 255, true ]

J’ai donc tenté de solutionner la première erreur en testant tous les noms de fichiers présents dans le répertoire, avec et sans leurs extensions, sans succès. À vrai dire je ne sais pas trop quoi faire d’autre, j’aimerais avoir des avis éclairé de votre part ?

Hello,

C’est NODE_CONFIG_DIR et non pas NODECONFIGDIR :slight_smile:

Bonjour, et merci pour la réponse !

En effet j’ignore pour quelles raisons j’ai perdu ces tirets bas, et encore moins pourquoi je n’ai pas remarqué cela …

Bref le problème est résolu !