kso512.ansible-install-mpd
ansible-install-mpd
Un Rôle Ansible pour installer l'application Music Player Daemon depuis les sources au lieu d'utiliser un gestionnaire de paquets. Certains gestionnaires de paquets peuvent ne pas inclure des fonctionnalités telles que le support MP3, donc la compilation à partir du code source peut être utile.
Ce rôle a été déprécié et remplacé par un nouveau rôle : kso512.mpd
Je ne recommande pas la configuration par défaut pour une connexion non protégée directement sur Internet, car la configuration du serveur permet l'accès sans mot de passe. Au lieu de cela, je recommande à l'opérateur d'augmenter la sécurité en configurant une variable d'hôte ou de groupe qui remplace ansible_install_mpd_conf_src
par un fichier personnalisé en dehors du dépôt.
Testé sur les distributions suivantes :
Exigences
Si le serveur a un pare-feu activé, il peut nécessiter une modification pour permettre les paquets entrants sur les ports TCP 6600/8000. Le rôle n'inclut pas de musique ni de listes de lecture, vous devrez donc les fournir. Consultez la section Variables de Rôle ci-dessous pour ces emplacements.
Variables de Rôle
Les valeurs par défaut indiquées ci-dessous devraient fonctionner "prêtes à l'emploi" et nécessitent une personnalisation uniquement si elles ne répondent pas à vos besoins.
Nom | Description | Valeur par défaut |
---|---|---|
ansible_install_mpd_apt_prereqs | Liste des paquets APT à installer | (Voir NOTE A ci-dessous) |
ansible_install_mpd_audio_output | Dictionnaire contenant des définitions de sortie audio | (Voir NOTE B ci-dessous) |
ansible_install_mpd_bind_to_address | Adresse à laquelle l'interface de contrôle doit être liée ; exemples : "any" ou "localhost" | any |
ansible_install_mpd_conf | Nom de fichier entièrement qualifié du fichier de configuration MPD | {{ ansible_install_mpd_home }}/mpd.conf |
ansible_install_mpd_conf_src | Nom de fichier relatif ou entièrement qualifié de la source du fichier de configuration MPD | mpd.conf.j2 |
ansible_install_mpd_db_file | Nom de fichier entièrement qualifié du fichier de base de données MPD | {{ ansible_install_mpd_home }}/database |
ansible_install_mpd_executable | Nom de fichier entièrement qualifié de l'exécutable MPD | /usr/local/bin/mpd |
ansible_install_mpd_filename | Nom complet de l'archive MPD | {{ ansible_install_mpd_shortname }}.tar.gz |
ansible_install_mpd_gcc_version | Version du compilateur C Gnu à installer | 8 |
ansible_install_mpd_group | Groupe de l'utilisateur qui possèdera le processus du démon | mpd |
ansible_install_mpd_home | Répertoire principal pour l'application | /home/mpd |
ansible_install_mpd_log_file | Nom de fichier entièrement qualifié du fichier journal MPD | {{ ansible_install_mpd_home }}/log |
ansible_install_mpd_music_directory | Dossier pour stocker la musique | {{ ansible_install_mpd_home }}/music |
ansible_install_mpd_pid_file | Nom de fichier entièrement qualifié du fichier PID MPD | {{ ansible_install_mpd_home }}/pid |
ansible_install_mpd_playlist_directory | Dossier pour stocker les listes de lecture | {{ ansible_install_mpd_home }}/playlist |
ansible_install_mpd_port | Adresse à laquelle l'interface de contrôle doit être liée | 6600 |
ansible_install_mpd_shortname | Nom court de l'archive MPD | mpd-0.22.10 |
ansible_install_mpd_src | Répertoire pour décompresser le code source | {{ ansible_install_mpd_src_base }}/{{ ansible_install_mpd_shortname }} |
ansible_install_mpd_src_base | Répertoire pour placer l'archive de code source | {{ ansible_install_mpd_home }}/src |
ansible_install_mpd_state_file | Nom de fichier entièrement qualifié du fichier d'état MPD | {{ ansible_install_mpd_home }}/state |
ansible_install_mpd_sticker_file | Nom de fichier entièrement qualifié du fichier d'auto-collant MPD | {{ ansible_install_mpd_home }}/sticker.sql |
ansible_install_mpd_systemd_service_dest | Nom de fichier entièrement qualifié du fichier d'unité de service système MPD | /lib/systemd/system/mpd.service |
ansible_install_mpd_systemd_service_src | Nom de fichier relatif ou entièrement qualifié de la source du fichier d'unité de service système MPD | systemd.mpd.service.j2 |
ansible_install_mpd_systemd_socket_dest | Nom de fichier entièrement qualifié du fichier d'unité de socket système MPD | /lib/systemd/system/mpd.socket |
ansible_install_mpd_systemd_socket_src | Nom de fichier relatif ou entièrement qualifié de la source du fichier d'unité de socket système MPD | systemd.mpd.socket.j2 |
ansible_install_mpd_url_base | Base de l'URL pour télécharger l'archive de code source | http://www.musicpd.org/download/mpd/0.22 |
ansible_install_mpd_user | Nom de l'utilisateur qui possèdera le processus du démon | mpd |
NOTE A
Liste des paquets APT installés en tant que pré-requis :
- cmake
- libadplug-dev
- libao-dev
- libasound2-dev
- libaudio-mpd-perl
- libaudiofile-dev
- libavahi-client-dev
- libavcodec-dev
- libavformat-dev
- libboost-dev
- libbz2-dev
- libcdio-paranoia-dev
- libchromaprint-dev
- libcppunit-dev
- libcurl4-gnutls-dev
- libexpat-dev
- libfaad-dev
- libflac-dev
- libfluidsynth-dev
- libgcrypt20-dev
- libgme-dev
- libgtest-dev
- libicu-dev
- libid3tag0-dev
- libiso9660-dev
- libjack-jackd2-dev
- libmad0-dev
- libmikmod-dev
- libmms-dev
- libmodplug-dev
- libmp3lame-dev
- libmpcdec-dev
- libmpdclient-dev
- libmpg123-dev
- libnfs-dev
- libogg-dev
- libopenal-dev
- libopus-dev
- libpcre3-dev
- libpulse-dev
- libresid-builder-dev
- libroar-dev
- libsamplerate0-dev
- libshine-dev
- libshout3-dev
- libsidplay2-dev
- libsidutils-dev
- libsmbclient
- libsmbclient-dev
- libsndfile1-dev
- libsndio-dev
- libsoxr-dev
- libsqlite3-dev
- libsystemd-dev
- libtwolame-dev
- libupnp-dev
- libvorbis-dev
- libwavpack-dev
- libwildmidi-dev
- libwrap0-dev
- libyajl-dev
- libzzip-dev
- ninja-build
- python3
- python3-pip
- unzip
- xmlto
NOTE B
Exemple d'une sortie de flux HTTP dans le dictionnaire ansible_install_mpd_audio_output
:
httpd:
type: httpd
name: Mon Flux HTTP
encoder: lame
port: 8000
bitrate: 128
format: "44100:16:2"
Dépendances
Ce rôle ne dépend d'aucun autre.
Exemple de Playbook
Configurer chaque serveur MPD pour un accès uniquement local et un mpd.conf personnalisé :
- hosts: servers
roles:
- { role: kso512.ansible-install-mpd, ansible_install_mpd_bind_to_address: 127.0.0.1, ansible_install_mpd_conf_src: local/mpd.conf.j2 }
Licence
Licence Publique Générale GNU version 2
Informations sur l'Auteur
Chris Lindbergh @kso512
Ansible role to install Music Player Daemon from source
ansible-galaxy install kso512.ansible-install-mpd