technique:webradiosazuracast

Serveur Azuracast - serveur webradios V2

Entrée DNS : webradios.cemea.org sur IP FailOver dédiée sur OVH

Création d'une mac virtuelle dans OVH Manager pour cette IP dédiée

VM azuracast : 2 coeurs, Ram 4 Go, 30 Go sur /, Interface réseau vmbr0 avec Macvirtuelle récupérée depuis OVH

Installation sur une VM Ubuntu server 20.04 sur Coloquinte

Config réseau dédiée sur Coloquinte (voir config OVH en ou des infos ici):

/etc/netplan/01-netcfg.yaml

# This is the network config written by 'subiquity'
network:
  version: 2
  ethernets:
      ens18:
          dhcp4: no
          dhcp6: no
          addresses: [146.59.220.91/32]
          nameservers:
              addresses: [1.1.1.1]
          routes:
          - to: 0.0.0.0/0
            via: 146.59.220.254
            on-link: true

Ici :

  • 146.59.220.91 : IP FailOver dédiée pour cette VM
  • 37.187.28.162 :IP dédiée de serveur (le .254 utilisé comme route et gateway)

NB : Romain annonce que la config est beaucoup plus simple et fonctionne.

On met l'IP dédiée (celle de la VM, on met 24 en masque 255.255.255.0 et en gateway : IP dédiée de la VM mais avec la fin de en .254). A tester.

Tout en root :

apt-get update && apt-get dist-upgrade
apt-get purge snapd
apt-get install -q -y git

mkdir -p /var/azuracast/www
cd /var/azuracast/www
git clone https://github.com/AzuraCast/AzuraCast.git .

# Want only stable "release" builds? Run this code here:
# git checkout -q -f stable

chmod a+x install.sh
./install.sh

Tout se passe bien sauf la fin si on choisit la version stable :

Erreur signalée sur dépendances de composer : wikimedia/composer-merge-plugin requiert composer-plugin-api incompatible avec composer v2 ???

Il faut donc pour l'instant utilise la version unstable (Rolling Release) pour passer l'installation.

L'install totale vierge prend actuellement 7,1 Go, le dossier azuracast prend 1,5 Go.

Création du premier compte admin.

Création de comptes utilisateurs (et gérer les permissions pour chacun : admin ou consultaiton )et de webradios avec leur mot de passe source. Ceci veut dire qu'il faut créer une permission pour chaque compte utilisateur.

Chaque radio utilile un mot de passe source, et admin différent.

On peut cocher “Permettre les streamers / DJs” pour permet le faire le DJ depuis l'interface web.

On peut déplacer l'espace de stockage des webradios dans /home/azuracast/stations par exemple, dans chaque webradio.

Mise à jour stable

Pour passer en version stable :

cd /var/azuracast/www
git checkout -q -f stable
sudo chmod a+x update.sh
sudo ./update.sh
apt install certbot

Conserver la conf nginx originale.

systemctl stop nginx
certbot --agree-tos --standalone -d webradios.cemea.org

Changer les certificats avec un webhook-post pour créer des certificats (server +key) compatibles avec icecast.

#!/usr/bin/env bash

mkdir -p /etc/nginx/ssl/

chmod 755 /etc/nginx/ssl

openssl rsa -in /etc/letsencrypt/live/webradios.cemea.org/privkey.pem -out /etc/nginx/ssl/server.key

openssl crl2pkcs7 -nocrl -certfile /etc/letsencrypt/live/webradios.cemea.org/fullchain.pem | openssl pkcs7 -print_certs -out /etc/nginx/ssl/server.crt

chmod 644 /etc/nginx/ssl/server.*

Et sauvegarder la nouvelle confi nginx

Et modifier la conf originale de nginx pour pointer sur les certif au bon endroit

/etc/letsencrypt/live/webradios.cemea.org/cert.pem

/etc/letsencrypt/live/webradios.cemea.org/privkey.pem

Rajouter la partie pour redirection port 80 → 443

Et relancer nginx.

Modifier dans l'interface admin de Azuracast la configuration en https pour toutes les adresses.

Modifier dans la conf de letsencrypt la méthode d'authentification du renewal en nginx /etc/letsencrypt/renewal/webradios.cemea.org.conf

Tester avec un :

certbot renew --dry-run

Un bug subsiste sur l'affichage des couvertures d'album.

Ceci peut être corrigé à la mano dans chaque dossier d'album (Patch à venir ? Bug fixé ? Mais réapparu)

A faire pour chaque station :

chmod 755 /var/azuracast/stations/webradio_cemea/media/.albumart/
  • technique/webradiosazuracast.txt
  • Dernière modification : 2022/03/30 00:49
  • de francoisa