Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
technique:adminserv:mumble:fonctionnement [2021/01/08 23:27] – qduchemi | technique:adminserv:mumble:fonctionnement [2022/05/24 20:48] (Version actuelle) – ppom |
---|
===== Murmur ===== | ===== Murmur ===== |
| |
''Murmur'' est le nom d'un logiciel de serveur Mumble, qui se déploie facilement sous Linux. Dans le cas de Picasoft, le serveur est déployé avec [cette image Docker](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/tree/master/pica-murmur), ainsi que avec la configuration Docker Compose associée. | ''Murmur'' est le nom d'un logiciel de serveur Mumble, qui se déploie facilement sous Linux. Dans le cas de Picasoft, le serveur est déployé avec [cette image Docker](https://gitlab.utc.fr/picasoft/projets/services/mumble), ainsi que avec la configuration Docker Compose associée. |
Le serveur est donc en écoute sur le port ''64738'' de la machine, et il expose aussi la route HTTP ''/metrics'' (pour les métriques Prometheus). | Le serveur est donc en écoute sur le port ''64738'' de la machine, et il expose aussi la route HTTP ''/metrics'' (pour les métriques Prometheus). |
Sa configuration se trouve dans un volume Docker ''murmur-data'' et consiste en 2 fichiers : | Sa configuration se trouve dans un volume Docker ''murmur-data'' et consiste en 2 fichiers : |
Pour permettre le bon fonctionnement des métriques Prometheus, il faut activer l'interface ZeroC Ice. Pour cela on configure le paramètre suivant ''ice="tcp -h 127.0.0.1 -p 6502"''. | Pour permettre le bon fonctionnement des métriques Prometheus, il faut activer l'interface ZeroC Ice. Pour cela on configure le paramètre suivant ''ice="tcp -h 127.0.0.1 -p 6502"''. |
| |
<bootnote important>Ne pas exposer cette interface en dehors que sur localhost !</bootnote> | <bootnote important>Ne pas exposer cette interface en dehors de localhost !</bootnote> |
| |
Enfin, il est impératif de configurer le bon chemin pour le certificat et la clef privée du serveur. Ici on va s'appuyer sur des certificats déposés par ''tls-certs-monitor'' (voir plus bas), les valeurs doivent donc être : | Enfin, il est impératif de configurer le bon chemin pour le certificat et la clef privée du serveur. Ici on va s'appuyer sur des certificats déposés par ''tls-certs-monitor'' (voir plus bas), les valeurs doivent donc être : |
Pour Picasoft, nous faisons générer le certificat par Traefik (qui utilise Let's Encrypt) et on communique ce certificat au serveur Mumble. Pour cela on utilise l'outil [''tls-certs-monitor''](https://gitlab.utc.fr/picasoft/projets/tls-cert-monitor), qui se charge de déposer les certificats dans un dossier défini, de leur donner les bons droits, et de redémarrer le conteneur. | Pour Picasoft, nous faisons générer le certificat par Traefik (qui utilise Let's Encrypt) et on communique ce certificat au serveur Mumble. Pour cela on utilise l'outil [''tls-certs-monitor''](https://gitlab.utc.fr/picasoft/projets/tls-cert-monitor), qui se charge de déposer les certificats dans un dossier défini, de leur donner les bons droits, et de redémarrer le conteneur. |
| |
Le fichier [''docker-compose.yml''](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-murmur/docker-compose.yml) de ''pica-murmur'' est déjà configuré pour cela. On constate que ''tls-certs-monitor'' envoie un signal ''SIGUSR1'' au conteneur lorsque les certificats changent. Ce signal déclenche le rechargement des certificats dans la configuration de ''murmur'', sans le redémarrer. | Le fichier [''docker-compose.yml''](https://gitlab.utc.fr/picasoft/projets/services/mumble/-/blob/master/docker-compose.yml) de ''murmur'' est déjà configuré pour cela. On constate que ''tls-certs-monitor'' envoie un signal ''SIGUSR1'' au conteneur lorsque les certificats changent. Ce signal déclenche le rechargement des certificats dans la configuration de ''murmur'', sans le redémarrer. |
| |
==== Métriques ==== | ==== Métriques ==== |
| |
Un [petit script](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-murmur/exporter.py) permet d'exposer des métriques Prometheus du serveur Mumble. Pour que cela fonctionne, il suffit simplement d'exposer en HTTP (via Traefik) la route ''/metrics'' du serveur Murmur, sur son port 8000. | Un [petit script](https://gitlab.utc.fr/picasoft/projets/services/mumble/-/blob/master/exporter.py) permet d'exposer des métriques Prometheus du serveur Mumble. Pour que cela fonctionne, il suffit simplement d'exposer en HTTP (via Traefik) la route ''/metrics'' du serveur Murmur, sur son port 8000. |
| |
===== Mumble Web ===== | ===== Mumble Web ===== |
| |
Pour ne pas avoir à utiliser le client lourd Mumble, nous avons aussi déployé un outil : ''mumble-web''. C'est un simple client Web pour Mumble. | Pour ne pas avoir à utiliser le client lourd Mumble, nous avons aussi déployé un outil : ''mumble-web''. C'est un simple client Web pour Mumble. |
Tout le nécessaire pour le déployer se trouve [ici](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/tree/master/pica-mumble-web), il faut simplement lui spécifier en variable d'environnement ''MUMBLE_SERVER'' l'adresse qu'il peut utiliser pour contacter le serveur ''murmur'' (on utilise généralement l'adresse du conteneur dans le même network Docker). | Tout le nécessaire pour le déployer se trouve [ici](https://gitlab.utc.fr/picasoft/projets/services/mumble-web), il faut simplement lui spécifier en variable d'environnement ''MUMBLE_SERVER'' l'adresse qu'il peut utiliser pour contacter le serveur ''murmur'' (on utilise généralement l'adresse du conteneur dans le même network Docker). |