Outils pour utilisateurs

Outils du site


installer_libretime_un_container_lxc_privileges

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
installer_libretime_un_container_lxc_privileges [2021/01/11 23:05] – [Ressources] Benjamin Labomediainstaller_libretime_un_container_lxc_privileges [2022/03/26 18:17] (Version actuelle) – [Restaurer le backup] Benjamin Labomedia
Ligne 62: Ligne 62:
   lxcrunner>lxc-ls -f   lxcrunner>lxc-ls -f
      
 +==== Autostart du container ====
 +Visiblement, il ne suffit pas d'ajouter le paramètre lxc.start.auto = 1 pour que le unpriviledged container démarre, a priori possible d'ajouter une instruction dans le contrab du user qui lance les containers :
 +  crontab -e and add the following line:
 +  @reboot lxc-autostart
  
 +  * voir https://serverfault.com/questions/620709/how-to-auto-start-unprivileged-lxc-containers
 ===== Installer Libretime dans le container =====    ===== Installer Libretime dans le container =====   
 Entrer dans le container Entrer dans le container
Ligne 157: Ligne 162:
 Validation manuelle après [[https://www.configserverfirewall.com/ubuntu-linux/ubuntu-disable-ipv6/|désactivation de ipv6]] (à adapter avec l'ip du serveur) en [[https://community.letsencrypt.org/t/connection-error-with-http-challenges/46795/10|forçant l'écoute de certbot en ipv4]] : Validation manuelle après [[https://www.configserverfirewall.com/ubuntu-linux/ubuntu-disable-ipv6/|désactivation de ipv6]] (à adapter avec l'ip du serveur) en [[https://community.letsencrypt.org/t/connection-error-with-http-challenges/46795/10|forçant l'écoute de certbot en ipv4]] :
   certbot certonly --manual --preferred-challenges http --http-01-address 163.172.20.20 -d musique.domaine.org --verbose   certbot certonly --manual --preferred-challenges http --http-01-address 163.172.20.20 -d musique.domaine.org --verbose
 +  
 +Voir aussi la config du renouvellement du certificat si problème dans 
 +  /etc/letsencrypt/renewal/
 ===== Libretime + https ===== ===== Libretime + https =====
 La page d'accueil de Libretime mixe du contenu http et https quand consulté via https, du coup des éléments sont bloqués par le navigateur. Pour palier cela, on peut rajouter une règle de substitution dans le vhost de Libretime dans le container :  La page d'accueil de Libretime mixe du contenu http et https quand consulté via https, du coup des éléments sont bloqués par le navigateur. Pour palier cela, on peut rajouter une règle de substitution dans le vhost de Libretime dans le container : 
Ligne 182: Ligne 190:
  
 Il reste le problème de l'appel du stream sur la page d'accueil qui se fait sur du https avec config de port dans Libretime qui doit être sur du http ... Il reste le problème de l'appel du stream sur la page d'accueil qui se fait sur du https avec config de port dans Libretime qui doit être sur du http ...
 +
 +Test de passage au port 443 dans /etc/airtime/airtime.conf pour un résultat flou (pas de son dans le stream de sortie, comment passer le stream de sortie de libretime en https ?
  
 Voir aussi à propos de Libretime vs https dans un container : Voir aussi à propos de Libretime vs https dans un container :
Ligne 227: Ligne 237:
   lxcrunner@server6:~$ ./lxc-_all-update.sh   lxcrunner@server6:~$ ./lxc-_all-update.sh
  
-  +===== Sauvegarde de Libretime ===== 
 +  * [[https://libretime.org/docs/backing-up-the-server|Suivre cette documentation]]
 ====== Troubleshooting ====== ====== Troubleshooting ======
-Désactiver ipv6 si ping images.linuxcontainers.org est résolu en ipv6+===== Désactiver ipv6 si ping images.linuxcontainers.org est résolu en ipv6 ===== 
   * https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-18-04-bionic-beaver-linux   * https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-18-04-bionic-beaver-linux
  
-Désactiver le serveur icecast dans les containers si pas utilisés+===== Désactiver le serveur icecast dans les containers si pas utilisés ===== 
 + 
   root@musique:~# systemctl  stop icecast2   root@musique:~# systemctl  stop icecast2
   root@musique:~# systemctl  disable icecast2   root@musique:~# systemctl  disable icecast2
 +
 +===== Réglages apparmor =====
 Corriger les erreurs dans syslog server6 kernel: [12869825.600469] audit: type=1400 audit(1604160574.292:860): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxc-container-default-cgns" name="/" pid=24470 comm="(pachectl)" flags="rw, rslave" : il faut ajouter dans la configuration de chaque container : Corriger les erreurs dans syslog server6 kernel: [12869825.600469] audit: type=1400 audit(1604160574.292:860): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxc-container-default-cgns" name="/" pid=24470 comm="(pachectl)" flags="rw, rslave" : il faut ajouter dans la configuration de chaque container :
   nano /home/lxcrunner/.local/share/lxc/atelier/config   nano /home/lxcrunner/.local/share/lxc/atelier/config
   lxc.apparmor.profile = unconfined   lxc.apparmor.profile = unconfined
  
 +===== Réglages lxc-net vs bind9 named sur ubuntu 18.04 après update =====
 +Si
 +  lxc-net[17399]: dnsmasq: failed to create listening socket for Address already in use
 +ça a l'air d'être le port 53 la source du conflit, désactiver bind9 (named) pour l'interface 10.0.5.0/24
 +  nano  /etc/bind/named.conf.options
 +Ajouter dans le fichier :
 +<code>
 +        allow-transfer {
 +                ...
 +                ...
 +                // lxc-container
 +                10.0.5.0/24
 +        };
 +
 +</code>
 +Ensuite :
 +  sudo systemctl restart bind9
 +  sudo systemctl restart lxc-net.service 
 +Pour debug
 +  lxc-start musique --logfile /home/lxcrunner/logup.txt --logpriority DEBUG
 +
 +  * cf https://discuss.linuxcontainers.org/t/solved-dnsmasq-failed-to-create-listening-socket-for-192-150-0-1-address-already-in-use/3006
 +Test occupation port
 +  lsof -i
 +  
 +===== Installation du 12 mars 2022 mars =====
 +==== Faire un backup  ====
 +
 +https://libretime.org/docs/admin-manual/backup/
 +  mkdir /home/lxcrunner/backupmigration/ && cd /home/lxcrunner/backupmigration/
 +  sudo -u postgres pg_dumpall | gzip -c > airtime-backup.gz
 +  tar -zcvpf airtime-backup-imported-atelier12032022.tgz /srv/airtime/stor/imported/
 +  tar -zcvpf airtime-etc-atelier12032022.tgz /etc/airtime/
 +  tar -zcvpf airtime-all-musique-12032022.tgz /home/lxcrunner/backupmigration/
 +
 +==== Sur le host ====
 +  a2ensite musique.radiocampus.org.conf musique.radiocampus.org-le-ssl.conf radio.radiocampus.org.conf radio.radiocampus.org-le-ssl.conf
 +  a2enmod proxy proxy_http proxy_wstunnel ssl http2 rewrite headers
 +  systemctl restart apache2
 +
 +  
 +==== Dans le container en tant que root ====
 +Installation à partir du dépôt git, la communauté Libretime a fait des paquets debian et ubuntu mais ils ne marchent pas avec la debian 11 et ubuntu 20.04, donc git ... https://github.com/LibreTime/libretime
 +
 +  apt install nano htop nload python3 git curl wget nmap net-tools locate
 +  adduser lxcrunner
 +  cd /home/lxcrunner/
 +  git clone https://github.com/LibreTime/libretime
 +  cd libretime
 +  ./install -fiap
 +Libretime installé !
 +  sudo systemctl start libretime-analyzer
 +  sudo systemctl start libretime-api
 +  sudo systemctl start libretime-celery
 +  sudo systemctl start libretime-liquidsoap
 +  sudo systemctl start libretime-playout
 +Utilisation d'un serveur icecast externe
 +  apt remove --purge icecast2
 +
 +==== Restaurer le backup ====
 +  tar -xpvf airtime-backup-imported-musique12032022.tgz
 +  mv srv/airtime/stor/imported/ /srv/airtime/stor/imported/
 +  gunzip airtime-db-backup-12032022.gz
 +  sudo -u postgres dropdb airtime
 +  sudo -u postgres psql -f airtime-backup-atelier12032022
 +  
 +  apt remove --purge icecast2
 +
 +==== Passer Libretime en https ====
 +Notamment si un fichier importé reste en "pending import", il faut changer airtime.conf comme cela :
 +  nano /etc/airtime/airtime.conf
 +
 +<code>
 +[general]
 +api_key = ************************
 +
 +protocol = https
 +base_url = radio.monserveur.org
 +base_port = 443
 +base_dir = /
 +force_ssl = true
 +
 +cache_ahead_hours = 1
 +</code>
  
 ====== Ressources ====== ====== Ressources ======
installer_libretime_un_container_lxc_privileges.1610406337.txt.gz · Dernière modification : 2021/01/11 23:05 de Benjamin Labomedia