Suite à l'article suivant, PeerTube 1.4.1 sur OpenBSD 6.6 et au travail de Ledeuns, voici une mise à jour du tuto. Encore une fois, la critique constructive est la bienvenue.

Snapshot

Tout d'abord, il faut constater qu'on a besoin de Node 12, à cause de l’infame module Sharp. Node 12 n'est pas disponible en -stable mais seulement en -current ou Snapshot. Donc c'est ça que j'utilise.

Et Sharp doit effectivement être installé seul, via npm, ce qui n'est pas recommandé (le reste de l'install’ se passe avec yarn, donc c'est pas parfaitement homogène).

RC

Pour pouvoir démarrer le service Peertube, il faut, lors du lancement de la commande au sein du script RC changer le dossier courant en /var/www/peertube/peertube_latest/, ce qui signifie que l'on doit démarrer et exécuter la commande depuis la racine de la version actuelle de PeerTube, dans son installation globale.

La solution que j'ai trouvé, c'est de positionner le $HOME de _peertube, l'utilisateur système de PeerTube, à /var/www/peertube/peertube_latest/.

Donc…

doas usermod -d /var/www/peertube/peertube_latest/ _peertube

C'est moche, mais ça marche.

Sinon, je devais, à la main et dans un tmux encore, lancer la commande depuis le bon répertoire. Pas cool, pas automatisable. Ou alors je devais le faire lancer dans une commande spécifique dans /etc/rc.local, donc en dehors du contrôle de RC.

Ce script rc est loin d'être parfait. Je ne suis pas du tout content de cette solution bâtarde.

#!/bin/ksh

daemon_user="_peertube"

HOME_DIR="/var/www/peertube"
CONF_DIR="${HOME_DIR}/config/"

daemon="HOME=${HOME_DIR} NODE_CONFIG_DIR=${CONF_DIR} NODE_ENV=production USER=${daemon_user} /usr/local/bin/node ${HOME_DIR}/peertube-latest/dist/server"

. /etc/rc.d/rc.subr

daemon_timeout=60
rc_reload=NO

pexp="-U _peertube node"

rc_cmd $1

Mais mettre un « cd /var/www… » au milieu de la ligne de commande ne donnait rien du tout.

Voila, si vous avez une meilleure solution, je suis toute ouïe.