Skip to main content

Peertube

  • /data/peertube-data : stoquage persistent de peertube
  • /etc/peertube : dossier contenant les fichiers de configuration
  • /etc/peertube/peertube.nginx.conf : configuration nginx

Base de données

Installation de postgres :

dnf install postgresql-server postgresql-contrib
postgresql-setup --initdb --unit postgresql
systemctl enable postgresql
sudo systemctl start postgresql

Création de la base de données :

# création de l'utilisateur
sudo -u postgres createuser -P --interactive
# création de la base de donnée
sudo -u postgres createdb -O peertube peertube_prod

Autoriser les containers à accéder à la base de données en ajoutant cette ligne à la fin du fichier ~postgres/data/pg_hba.conf :

# Containers
host    all             all             10.88.0.0/24            md5

Pare-feu

Vérifier le firewall pour autorisé le trafic vers / depuis le réseau de podman, pour nftables ajouter ces lignes à la tables inet filter :

iifname cni-podman0 accept
oifname cni-podman0 accept

Peertube

Lancement de l'instance :

# Créer un pod pour Nginx et Peertube
podman pod create --name peertube --restart=unless-stopped -p 127.0.0.1:9000:9000 -p 0.0.0.0:1935:1935 -p 127.0.0.1:9080:9080

# Créer le conteneur Nginx
podman create --name peertube-nginx-1.25.3-1 --pod peertube \
  --restart=unless-stopped \
  -v /etc/peertube/peertube.nginx.conf:/etc/nginx/conf.d/default.conf:Z \
  -v /etc/peertube/:/config:Z \
  -v /data/peertube-data/storage:/var/www/peertube/storage:Z \
  nginx:1.25.3
# Démarrer Nginx
podman start peertube-nginx-1.25.3-1

# Créer le conteneur Peertube
podman create --name peertube-5.0.1-1 --pod peertube \
  --restart=unless-stopped \
  -v /data/peertube-data/:/var/lib/peertube:Z \
  -v /etc/peertube/:/config:Z \
  chocobozzz/peertube:v5.0.1-bullseye
# Démarrer Peertube
podman start peertube-5.0.1-1

Configuration Caddy

tube.fede.re {
    #respond "Ongoing maintenance, we'll be back soon :)" 503
    reverse_proxy {
        to localhost:9080
    }
}

Mise à jour de la configuration Nginx

La configuration à copier est à partir du commentaire # Application jusqu'à la fin du bloc. Après copie, il faut supprimer les blocs faisant référence au dossier peertube-latest/client.

En cas de problèmes

Au redémarrage d'Altaïr peertube risque de ne pas redémarrer correctement, si ce n'est pas up vérifier :

  • que redis écoute bien sur 10.88.0.1 (lsof -i :6379) sinon le redémarrer via systemctl restart redis
  • que postgres écoute bien sur 10.88.0.1 (lsof -i :5432) sinon le redémarrer via systemctl restart postgres
  • Redemmarer le pod: podman pod start peertube

Troubleshouting 4.0.0

Python3 n'est pas installé dans le conteneur. Il faut installer python3 et symlink l'executable, depuis le conteneur:

  • apt install -y python3
  • ln -s /usr/bin/python3 /usr/bin/local/python