My peertube instance is broken :(

For a french version, please see below.

I wanted to upgrade my nextcloud and one thing after another, I ended in:

  • upgrade the OS (Debian 11 > Debian 12)
  • (re)Install the last version of NodeJS (had diseapear in previous step !?)
  • Upgrade peertube with the upgrade script (saw no errors)

My peertube web site is again up and running, but it can’t play any video. The error message is always the same :
« The video failed to play due to technical issues.
The media could not be loaded, either because the server or network failed or because the format is not supported. »

I tried too look at the log with:
NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run parse-log – --level info
But I coul’nt see anything that seems usefull to me…

Any idea ? The best approch may be to do a full reinstallation of peertube. But I’m really afraid to loose the setting, or worse the vidéo library.

A big thanks to anyone who fill find the time to help me. If you are a sysadm and need a shell on my (virtual) box, that’s fine.

Thank you very much !


In french:

Une chose en entrainant une autre, et en voulant mettre à jour un nextcloud, j’ai finalement:

  • mis à jour l’OS (Debian 11 → Debian 12)
  • installer la dernière version de nodeJS qui semblait avoir disparu lors de l’étape précédente
  • mis à jour peertube (version ?? à l’aide du script upgrade qui ne m’a pas affiché d’erreurs)

J’ai bien retrouvé mon site, mais aucune des vidéos ne se lance. Le message est toujours le même :
« The video failed to play due to technical issues.
The media could not be loaded, either because the server or network failed or because the format is not supported. »

J’ai essayé de trouver des messages qui m’auraient donné une piste à suivre avec la commande :
NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run parse-log – --level info
Mais je n’ai rien trouvé qui me parle particulièrement…

Une idée ? Le mieux serait peut etre de ré-installe complétement peertube, mais j’ai peur de perde les paramétrages effectués ou pire la bibliothèque de vidéos…

Un grand merci à celui ou à celle qui voudra bien prendre le temps de m’aider. Si vous êtes admin sys et si pour vous c’est plus simple d’avoir un shell sur la machine, aucun soucis pour vous filer un compte sur la VM.

Bonjour,

Vérifier les IMPORTANT NOTES du changelog: PeerTube/CHANGELOG.md at develop · Chocobozzz/PeerTube · GitHub
Et aussi que la conf nginx est bien à jour

Si ça ne fonctionne toujours pas : quelle est l’URL de l’instance ?

Je n’utilise pas nginx. Et oui, bien sur, j’aurai du lire tous les changelog au fur et à mesure… Mais quand j’ai vu qu’après la mise à jour OS peertube ne se lançait plus du tout (forcément, npm était même plus présent), j’ai été un peu violent et j’ai fait des tas de mises à jour sans lire les docs… Donc oui, il y a surement un truc qui s’est cassé quelque part parce qu’une (ou des) étapes importantes ont étés zappées.

Edit : l’url : https://merci-la-police.fr

Je viens de voir que le changelog demande d’installer la version 18 de nodeJS. C’est forcément la 18 ou au moins la 18 ? Parce que je suis en 21 la…

Et il est aussi fait mention de nginx… Je suis toujours sur apache (et comme c’est pas le seul site web qui tourne, ça m’ennuierait beaucoup de devoir changer…)

Alors, c’est très probablement dû à un changement de NodeJS, entre la v16 et la v18 (et donc la v21).
Maintenant localhost résoud en IPv6 par défaut…
Il faut donc remplacer les localhost par 127.0.0.1 dans le production.yaml de Peertube (c’est documenté dans le lien donné par Chocobozzz), et aussi dans la conf apache/nginx.

Attention, y’a plein de choses qui ont changé dans la conf nginx, et ce n’est pas forcément facile de le transposer en Apache.
Il y a cela dit des solutions pour avoir Apache et Nginx sur la même machine.
Par ex en ajoutant HaProxy en frontal (on doit pouvoir trouver des infos sur ce forum). Ou même en mettant nginx en frontal d’Apache, ou inversement.

Whaou…

Déjà merci beaucoup pour ta réponse.

Si il y avait eu que localhost à remplacer, ça n’aurait évidement pas posé trop de soucis. Mais la il y a vraiment trop de choses qui me dérange… C’est fou que peertube soit à ce point dépendant d’une brique aussi pénible que nodeJS. Déjà rien que les graves problèmes de sécurité de ce truc… Alors si en plus ça nécessite des configurations ultra spécifiques d’apache et/ou de nginx…

Bref, l’administration système, vraiment j’aime bien. Mais la c’est du paramétrage applicatif qui change à chaque version… A chaque fois que j’ai fait une mise à jour, à chaque fois j’ai tout cassé. Et la, pour la première fois, je voyais pas comment m’en sortir tout seul. Et vu la quantité de modifs je vois mieux pourquoi.

Du coup ce que je comprend de tout ça c’est que chez moi, peertube n’évoluera plus. Je vais dupliquer la VM et en restaurer une version tel qu’elle était en Debian11 avec peertube… je sais pas, peut etre v3… Tant pis pour les problèmes de sécurité, il y aura clairement que peertube la dessus. Et à coté je vais faire évoluer tous les autres composants (nextcloud etc), qui eux peuvent évoluer beaucoup plus simplement et sans tout casser à chaque nouvelle version.

J’étais pas venu la pour critiquer peertube (je sais qu’il y a pas 50 devs derrière hein…) et vraiment merci pour les informations. Mais ces infos confirment ce que je pensai déjà : Il est impossible de mettre à jour Peertube simplement. A chaque fois il faut changer la configuration de ceci, la version de cela etc. Et au final c’est juste impossible à maintenir pour un particulier lambda :~(

Le problème est donc « résolu », je vais faire des retours arrière via restauration ou rollback de snapshot et mettre tout le reste ailleurs.

Sujet clos :frowning: