Manuel d’administration d’un serveur
Table des matières
Dois-je faire tourner un serveur ?
Non. Vous pouvez utiliser les serveurs enregistrés sur les annuaires intégrés et utiliser Jamulus sans exécuter de serveur ou choisir un service d’hébergement tiers. Si vous voulez juste une session non perturbée, utilisez la technique de mise en solo décrite sur la page Trucs et astuces. Si vous décidez que vous ne pouvez utiliser aucun des serveurs répertoriés par les annuaires intégrés, vous pourrez peut-être utiliser un serveur (soit enregistré dans un annuaire personnalisé, soit non enregistré - voir Types de serveur) hébergé par un tiers. Cela vous évitera d’avoir à en installer un vous-même.
Exigences de base
Bien que la configuration d’un serveur ne soit pas difficile, il est conseillé de lire les informations générales suivantes pour éviter certains problèmes :
Vitesse et latence
La capacité du serveur lui-même (et du réseau sur lequel il se trouve) n’est PAS le principal déterminant de la qualité d’une session Jamulus!
Habituellement, les problèmes se situent du côté Client et doivent y être résolus. Consultez la page de dépannage si nécessaire.
Cependant, divers problèmes peuvent également survenir lors de la configuration des serveurs, en particulier lorsqu’ils sont exécutés sur une connexion domestique à faible bande passante. Il est généralement acceptable d’avoir moins de 5 musiciens sur une connexion domestique à vitesse plus lente (par exemple, 10 Mbit/s aval et 1 Mbit/s amont). Vous pouvez en savoir plus sur les exigences du réseau sur différents paramètres de qualité ici.
Envisagez d’utiliser un hôte sur le cloud, pas votre connection internet domestique, pour obtenir de meilleurs temps de ping si vous avez des problèmes.
Notes générales
- Tout serveur doit avoir une fréquence de CPU d’au moins 1,6 GHz et 1 Go de RAM
- L’exécution d’un serveur peut nécessiter l’ajustement de tout pare-feu fonctionnant sur ou en dehors de votre machine ou de votre hôte cloud.
- Pour exécuter un serveur non enregistré à la maison, vous devez effectuer une redirection de port sur votre routeur. Lorsque vous exécutez un serveur enregistré, la redirection de port ne devrait pas être nécessaire dans la plupart des cas, mais il est conseillé de le faire car certains réseaux peuvent ne pas fonctionner correctement avec Jamulus dans son mode par défaut.
- Jamulus ne dispose que d’un support limité d’IPv6 qui doit être activé par un argument de ligne de commande sur le client et le serveur. (Il est prévu d’étendre le support IPv6.)
Types de serveur
Vous pouvez exécuter votre serveur de différentes manières (soit à la maison, soit sur un hébergeur tiers) :
1. Enregistré
Votre serveur sera enregistré dans un annuaire. Par défaut, Jamulus a une liste d’annuaires intégrés auxquels les clients peuvent se connecter. Si vous vous enregistrez auprès de l’un d’entre eux, n’importe qui peut alors découvrir et se connecter à votre serveur. Vous pouvez également avoir votre serveur enregistré dans un annuaire personnalisé, si cela répond mieux à vos besoins.

2. Non enregistré
Il s’agit de la valeur par défaut lors du premier démarrage d’un serveur. Les serveurs non enregistrés ne sont pas répertoriés par les annuaires, donc seuls les musiciens qui connaissent l’adresse de votre serveur pourront s’y connecter. Ceci est utile car Jamulus ne vous permet pas de contrôler qui peut se connecter à un serveur.

Si vous utilisez un serveur non enregistré derrière une connexion Internet à domicile, vous devrez peut-être activer la redirection de port comme décrit ci-dessous.
3. Annuaire
Lorsque vous souhaitez faire fonctionner plusieurs serveurs, éventuellement derrière un pare-feu ou sur un réseau local, vous voudrez peut-être exécuter votre serveur en tant qu’annuaire. Il s’agit par exemple d’événements en ligne, d’associations musicales, de répétitions de sections ou de cours de musique pour les écoles.
Pour faire tourner un annuaire lisez ce guide
Installation et configuration
La plupart des gens exécutent Jamulus en tant que serveur “pur” sur du matériel sans audio (par exemple sur un hôte tiers/cloud) sous Linux. Les étapes suivantes supposent que vous êtes familiarisé avec la ligne de commande et Debian/Ubuntu ou une distribution similaire utilisant systemd. Pour exécuter un serveur sous Windows ou sur le bureau avec une interface utilisateur graphique, voir cette section.
Si vous souhaitez exécuter un serveur sur un Raspberry Pi (ou un autre appareil arnhf/arm64 basé sur debian), vous devrez télécharger les fichiers .deb
pour armhf
32 bits ou arm6464 bits, pas les fichiers par défaut
amd64` que vous utiliseriez sur un Intel/machine basée sur AMD.
Installation
- Téléchargez la dernière version sans interface (amd64).deb ou, Si vous utilisez un Raspberry Pi etc. téléchargez la dernière version (armhf).deb ou le dernier fichier .deb arm64
- Mettez à jour apt pour vous assurer que vous disposez d’une liste à jour des paquets standard :
sudo apt update
- Installez le paquet Jamulus :
sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb
ou pour RasPi etc: armhf :sudo apt install ./jamulus-headless_3.9.1_ubuntu_armhf.deb
; arm64:sudo apt install ./jamulus-headless_3.9.1_ubuntu_arm64.deb
- Activer le processus de serveur sans interface via systemd :
sudo systemctl enable jamulus-headless
- Ajoutez les options de la ligne de commande voulues à la ligne
ExecStart
dans le fichier service systemd en exécutantsudo systemctl edit --full jamulus-headless
(par défaut vous démarrerai un serveur non enregistré). - Rechargez le fichier systemd
sudo systemctl daemon-reload
et redémarrez le serveur sans interface :sudo systemctl restart jamulus-headless
- Vérifiez que tout est en ordre avec
systemctl status jamulus-headless
(tapezq
pour revenir au prompt).
Vous pouvez contrôler Jamulus avec la commande systemctl
. Par exemple, pour arrêter proprement le Serveur :
sudo systemctl stop jamulus-headless
Pour mettre à niveau votre serveur, répétez simplement les étapes ci-dessus.
Configuration
Exécuter en mode enregistré
La configuration minimale suivante est requise pour exécuter un serveur enregistré :
jamulus --nogui --server \
--directoryserver genreServer:port \
--serverinfo "nomduserveur;ville;[country ID]"
Remarque : les caractères point-virgule et saut de ligne ne sont pas autorisés dans nomduserveur
et ville
dans l’argument --serverinfo
Pour vous enregistrer dans l’un des annuaires intégrés au client Jamulus, remplacez genreServer:port
dans l’exemple ci-dessus par l’une des options suivantes :
Genre | Adresse du serveur |
---|---|
Any Genre 1 | anygenre1.jamulus.io:22124 |
Any Genre 2 | anygenre2.jamulus.io:22224 |
Any Genre 3 | anygenre3.jamulus.io:22624 |
Genre Rock | rock.jamulus.io:22424 |
Genre Jazz | jazz.jamulus.io:22324 |
Genre Classique/Folk | classical.jamulus.io:22524 |
Genre Chorale/Barbershop | choral.jamulus.io:22724 |
Vous pouvez également spécifier un Annuaire de la même manière à partir de la ligne de commande, en fournissant l’adresse du serveur dans le même format.
Exécuter comme Annuaire
Si vous voulez faire tourner un annuaire veuillez consulter ce guide.
Maintenance
Affichage des journaux
Jamulus se connectera au fichier journal du système si vous avez laissé le paramètre StandardOutput=journal
dans le fichier d’unité.
Pour afficher le journal, utilisez journalctl
(pour quitter, appuyez sur Ctrl-C). Par exemple, pour lire le fichier journal du système, filtré pour le service Jamulus :
journalctl -f -u jamulus-headless
Controller l’enregistrement
Lors de l’utilisation de la fonction d’enregistrement avec l’option de ligne de commande -R
, si le serveur reçoit un signal SIGUSR1 pendant un enregistrement, il démarrera un nouvel enregistrement dans un nouveau répertoire. SIGUSR2 dés/activera l’enregistrement.
Pour envoyer ces signaux en utilisant systemd, créez les deux fichiers .service
suivants dans /etc/systemd/system
, en les appelant de manière appropriée (par exemple, jamulusTogglerec.service
).
Remarque : Vous devrez sauvegarder les enregistrements dans un chemin hors du répertoire personnel de jamulus, ou supprimer ProtectHome=true
de votre fichier d’unité systemd (sachez que cela représente toutefois un risque potentiel pour la sécurité).
Pour activer ou désactiver l’enregistrement (selon l’état actuel) :
[Unit]
Description=Toggle recording state of Jamulus Server
Requisite=Jamulus-Server
[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR2 Jamulus-Server
Pour démarrer un nouvel enregistrement :
[Unit]
Description=Start a new recording on Jamulus Server
Requisite=Jamulus-Server
[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR1 Jamulus-Server
Remarque : Le nom du service Jamulus dans la ligne ExecStart
doit être le même que le nom du fichier .service
que vous avez créé lors de la configuration de systemd pour contrôler votre serveur Jamulus. Donc, dans cet exemple, ce serait Jamulus-Server.service
Exécutez sudo systemctl daemon-reload
pour les enregistrer pour la première utilisation.
Vous pouvez maintenant les exécuter avec la commande systemctl
, par exemple :
sudo systemctl start jamulusTogglerec
(en supposant que vous avez nommé votre fichier d’unité jamulusTogglerec.service
)
Vous pouvez voir le résultat de ces commandes si vous exécutez systemctl status jamulus
ou en consultant les journaux.
Serveurs sur le bureau
Jamulus peut être exécuté en mode Serveur depuis le bureau. Cela vous donne une interface utilisateur graphique pour contrôler la plupart des paramètres.
- Utilisateurs de Windows - Utilisez l’icône “Serveur Jamulus” dans le menu Démarrer de Windows.
- Utilisateurs de macOS - Double-cliquez sur l’icône “Serveur Jamulus” dans Applications (en supposant que vous y avez placé les fichiers de l’installation conformément à ces instructions).
- Utilisateurs de Linux - Lancez le raccourci « Jamulus Serveur ». Ou vous pouvez ouvrir une fenêtre de terminal (
CTRL + ALT + t
sur Debian et les distributions associées), tapezjamulus -s
et appuyez sur entrée.
Configuration du serveur

La liste Annuaire
Aucun : par défaut, vous ne serez pas connecté à un annuaire et vous exécuterez en mode non enregistré. Lire ces instructions pour que d’autres personnes se connectent à votre serveur dans ce mode.
Genre : pour permettre à d’autres personnes de voir votre serveur sur l’un des annuaires publics embarqués dans le client, sélectionnez le genre d’annuaire souhaité. Vous devriez voir un message de confirmation indiquant si votre serveur s’est enregistré avec succès. Si ce n’est pas le cas et que vous laissez votre serveur en cours d’exécution, il continuera d’essayer de s’enregistrer jusqu’à ce qu’un emplacement libre se libère.
Personnalisé : Cela vous permet de spécifier un répertoire personnalisé sur lequel être répertorié. Voir l’onglet “Options” pour l’adresse du répertoire personnalisé que vous souhaitez utiliser.
Pour exécuter votre serveur comme un annuaire, vous devez définir l’adresse de l’annuaire personnalisé sur localhost
ou 127.0.0.1
et définir le “genre” sur “personnalisé”. Lire ce guide pour plus de détails.
Informations de mon serveur
Lors de l’exécution en tant que serveur enregistré, cela affiche le nom du serveur, la ville et le pays afin que les autres utilisateurs puissent facilement l’identifier dans la liste d’annuaire.
Message de bienvenue du tchate
Le texte saisi ici apparaît à tous les utilisateurs lorsqu’ils rejoignent le serveur (la fenêtre de chat s’ouvrira automatiquement pour eux). HTML est également pris en charge.
Options

Répertoire d’enregistrement
Cette option définit le chemin d’accès à l’endroit où l’enregistrement du serveur sera stocké. Une fois ce chemin défini, la fonction “Activer l’enregistrement” de l’onglet Paramètre du serveur fera en sorte que l’enregistrement démarre dès que la première personne se connectera au serveur et s’arrête lorsque la dernière personne partira. Utilisez le bouton “Nouvel enregistrement” pour créer un nouveau sous-répertoire dans lequel les enregistrements seront désormais stockés. Notez que les enregistrements sont par piste au format Audacity.lof
et REAPER.rpp
. Ouvrez les fichiers respectifs pour les écouter dans ces applications.
Remarque : Lorsque votre serveur enregistre, les clients affichent un message indiquant que l’enregistrement est en cours.
Adresse de l’annuaire personnalisé
Laissez ce champ vide sauf si vous devez inscrire votre serveur dans un annuaire personnalisé ou executez un annuaire.
Nom du fichier de la liste des serveurs
Laissez ce champ vide à moins que vous n’ayez besoin d’exécuter votre serveur en tant qu’[annuaire] (#3-annuaire). Lorsqu’il est utilisé, il contient la liste des serveurs enregistrés lors du redémarrage de l’annuaire. Cela empêche la liste des serveurs d’apparaître “vide” jusqu’à ce que les serveurs se réenregistrent.
Retardement du panoramique
Cette option utilise les petites différences de temps d’arrivée du son entre les deux oreilles. Elle produit un effet stéréo similaire à l’audition humaine naturelle par rapport à un panoramique normal de “volume”.
Démarrage Minimisé
Utilisateurs de Windows - Si vous voulez que le serveur démarre automatiquement au démarrage du système, activez la case à cocher correspondante.
Icône de status du serveur
Lorsque le serveur fonctionne, le système d’exploitation affiche une icône dans la barre d’état système ou dans la zone d’état pour indiquer si le serveur est actif :

Le serveur est vide

Le serveur est occupé
Options de la ligne de commande
La plupart des fonctions courantes de Jamulus peuvent être définies à l’aide de l’interface graphique, mais ces fonctions et d’autres peuvent également être définies à l’aide d’options données dans une fenêtre de terminal. La manière exacte de procéder dépend de votre système d’exploitation.
Par exemple, sous Windows, pour utiliser un fichier de paramètres spécifique, faites un clic droit sur le raccourci de Jamulus et choisissez “Propriétés” > Cible. Ajoutez les arguments nécessaires à Jamulus.exe :
"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100
Pour macOS, démarrez une fenêtre Terminal et exécutez Jamulus avec les options souhaitées comme ceci :
/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100
Note : Les options de la ligne de commande définissent les valeurs par défaut du serveur au démarrage. Vous pouvez les remplacer par les contrôles GUI correspondants lorsque le serveur est en cours d’exécution.
-d
ou--discononquit
Déconnecte tous les clients lorsque le serveur est arrêté. Normalement, lorsqu’un serveur est arrêté ou redémarré, tous les clients qui n’ont pas utilisé leur bouton “Déconnecter” rétabliront la connexion lorsque le serveur sera de nouveau opérationnel. L’utilisation de cette option oblige les clients à rétablir manuellement leur connexion au serveur.-e
ou--directoryserver
Enregistrer le serveur sur un annuaire (par exemple pour définir son genre (voir aussi-o
)). Voir types de serveurs pour plus d’informations.--directoryfile
Se souvenir des serveurs enregistrés même si l’annuaire est redémarré. Annuaires seulement. Voir ce guide pour plus d’informations.-f
ou--listfilter
Liste blanche des serveurs s’enregistrant sur la liste des serveurs, formatip address 1[;ip address 2]
Annuaires uniquement.-F
ou--fastupdate
Réduit la latence si les clients se connectent avec l’option “Activer les petits tampons de réseau”. Nécessite un processeur plus rapide pour éviter les pertes de données, et une bande passante plus large pour les clients activés.-l
ou--log
Activer l’enregistrement, définir le chemin et le nom du fichier-L
ou--licence
Afficher une fenêtre d’accord avant que les utilisateurs puissent se connecter-m
ou--htmlstatus
Active le fichier d’état HTML, définit le chemin et le nom du fichier-o
ou--serverinfo
Détails de l’emplacement dans le format :[nom] ;[ville] ;[pays sous forme de code de pays ISO à deux lettres ou de Qt5 Locale]
(voir codes de pays ISO à deux lettres (en anglais) ou valeurs Qt5 Locale) (en anglais) Serveurs enregistrés uniquement-P
ou--delaypan
Démarrer avec le panoramique du délai activé Voir notes)-R
ou--recording
Définir le répertoire d’enregistrement du serveur ; par défaut, le serveur enregistre lorsqu’une session est active. Voir Options.--norecord
Configurer le serveur pour qu’il n’enregistre pas par défaut (lorsque l’enregistrement est configuré par exemple via-R
)-s
ou--server
Démarrer en mode serveur--serverbindip
Spécifiez l’adresse IP à laquelle se lier-T
ou--multithreading
Utilisez le multithreading pour mieux utiliser les processeurs multi-cœurs afin de prendre en charge plus de clients-u
ou--numchannels
Nombre maximum de canaux (clients)-w
ou--welcomemessage
Message de bienvenue à la connexion. Peut être donné comme une chaîne de caractères ou un nom de fichier, et peut contenir du HTML.-z
ou--startminimized
Démarrage minimisé--serverpublicip
L’adresse IP publique du serveur s’il est connecté à un annuaire derrière le même NAT. Voir Notes sur les Annuaire
-h
ou--help
Afficher le texte d’aide-i
ou--inifile
Définit l’emplacement du fichier d’initialisation (remplace la valeur par défaut)-n
ou--nogui
Désactiver l’interface graphique (pour une utilisation en mode sans interface graphique)-p
ou--port
Définit le numéro du port UDP local. La valeur par défaut est 22124--jsonrpcport
Permet au serveur API JSON-RPC de contrôler l’application, définit le numéro de port TCP (EXPÉRIMENTAL, les API peuvent changer ; accessible uniquement depuis localhost). Veuillez consulter le fichier de documentation de l’API JSON-RPC.--jsonrpcsecretfile
Requis lorsque vous utilisez--jsonrpcport
. Définit un chemin vers un fichier texte contenant une chaîne d’authentification pour obtenir l’accès à l’API JSON-RPC.- -Q
ou
–qos` Définit la valeur DS Field byte de la qualité de service. La valeur par défaut est 128 (DSP/CS4). QoS est ignoré par Windows. Pour l’activer, voir cette page -t
ou--notranslation
Désactiver les traductions de langue de l’interface utilisateur-6
ou--enableipv6
Active l’adressage IPv6 (IPv4 est toujours activé)-v
ou--version
Affiche les informations sur la version
Exécuter un serveur non enregistré
Il est fortement recommandé de tester votre serveur en l’enregistrant sur l’un des annuaires embarqués d’abord afin de limiter les problèmes ultérieurs en mode non enregistré.
Configuration d’un serveur derrière un routeur domestique
Si vous configurez votre serveur chez vous, vous devrez probablement modifier certains paramètres de votre routeur/pare-feu :
Redirection de port
Les personnes extérieures à votre réseau domestique ne pourront pas voir à l’intérieur. Pour permettre aux clients Jamulus externes de se connecter à votre serveur, vous devez configurer la redirection de port dans les paramètres de votre routeur. La configuration exacte diffère pour chaque routeur. Pour obtenir de l’aide, consultez la documentation de votre routeur ou portforward.com.
Remarque : Le port par défaut pour la version actuelle de Jamulus est le port UDP (et non TCP) 22124. Vous redirigerez généralement le port 22124 depuis l’extérieur de votre réseau vers le port 22124 de la machine exécutant le serveur.
Note : Votre routeur domestique peut modifier l’adresse IP de la machine sur laquelle vous exécutez votre serveur. Selon votre routeur, vous devrez soit donner à cette machine une adresse IP statique (souvent dans la configuration DHCP du routeur).
Obtenir l’IP externe
Pour autoriser d’autres personnes à se connecter à votre serveur à partir d’Internet, obtenez votre adresse IP externe (WAN), par ex. en utilisant Google et donnez-leur. Vous-même devez vous connecter en utilisant l’adresse du réseau local (LAN) de la machine sur laquelle le serveur est exécuté. Si vous exécutez un client sur la même machine que votre serveur, ce serait localhost
ou 127.0.0.1
.
DNS dynamique et pourquoi vous en aurez probablement besoin
La plupart des connexions Internet nationales changent leur adresse IP externe après une courte période. Pour éviter tout problème, vous pouvez configurer un “DNS dynamique” pour obtenir un (sous-)domaine statique que vous pouvez partager avec d’autres. Veuillez rechercher comment faire cela pour votre configuration spécifique. Votre routeur peut prendre en charge certains fournisseurs de “DNS dynamiques” prêts à l’emploi. Si ce n’est pas le cas, configurez un client DNS dynamique comme décrit par le fournisseur de DNS dynamique que vous avez choisi.
Sauvegarder le serveur
Notez que les serveurs sans interface n’utilisent pas de fichiers .ini
. Toute la configuration est donnée sous forme d’options de ligne de commande.
Une fois installé et en fonctionnement, vous voudrez peut-être conserver une copie de vos paramètres. Avoir une sauvegarde est toujours une bonne idée, et les fichiers de paramètres ne sont pas rétrocompatibles entre les versions de Jamulus. Ainsi, si vous souhaitez revenir à la version précédente, vous devrez restaurer les paramètres que vous aviez.
Pour trouver votre fichier de paramètres sous Windows, tapez %APPDATA%
dans la barre de recherche et cherchez un dossier nommé Jamulus
. Vous trouverez un ou plusieurs fichiers .ini
dans ce dossier. Maintenant sauvegardez les paramètres de Jamulus.
Pour toutes les autres plateformes, exécutez la commande suivante à partir de la ligne de commande pour trouver leur emplacement et copier les fichiers à un autre endroit :
find ~ -name Jamulus.ini -ls
Si vous avez utilisé le paramètre --inifile
pour sauvegarder un fichier ini à un endroit différent, n’oubliez pas de sauvegarder également ces fichiers. Points à noter
- Ne pas sauvegarder ou restaurer les fichiers de paramètres lorsque Jamulus est en cours d’exécution.
- Il n’est pas recommandé de modifier les fichiers de paramètres à la main (ils ne sont pas conçus pour cela).
- Vous pouvez rétablir tous les paramètres par défaut en supprimant simplement le fichier de paramètres (après avoir fermé Jamulus).
Dépannage
Si vous avez un autre problème, regardez ce guide.