kso512.ansible-install-mpd
ansible-install-mpd
Un Rol de Ansible para instalar la aplicación Music Player Daemon desde el código fuente en lugar de a través de un gestor de paquetes. Algunos gestores de paquetes pueden no incluir características como el soporte para MP3, por lo que compilar desde el código fuente puede ser útil.
Este rol ha sido desaprobado y reemplazado por un nuevo rol: kso512.mpd
No recomiendo la configuración predeterminada para una conexión no protegida directamente a Internet, ya que la configuración del servidor incluye acceso sin contraseña. En su lugar, recomiendo aumentar la seguridad configurando una variable de host o grupo que sobrescriba ansible_install_mpd_conf_src
con un archivo personalizado desde fuera del repositorio.
Probado en las siguientes distribuciones:
Requisitos
Si el servidor tiene un firewall activado, puede necesitar cambios para permitir paquetes entrantes en los puertos TCP 6600/8000. El rol no incluye música ni listas de reproducción, así que necesitarás proporcionarlas. Consulta la sección Variables del Rol a continuación para las ubicaciones de esos archivos.
Variables del Rol
Los valores predeterminados que se muestran a continuación deberían funcionar "listos para usar" y solo necesitan personalización si no satisfacen tus necesidades.
Nombre | Descripción | Valor por defecto |
---|---|---|
ansible_install_mpd_apt_prereqs | Lista de paquetes APT para instalar | (Ver NOTA A abajo) |
ansible_install_mpd_audio_output | Diccionario que contiene definiciones de salida de audio | (Ver NOTA B abajo) |
ansible_install_mpd_bind_to_address | Dirección para enlazar la interfaz de control; ejemplos son "cualquiera" o "localhost" | cualquiera |
ansible_install_mpd_conf | Nombre completo del archivo de configuración de MPD | {{ ansible_install_mpd_home }}/mpd.conf |
ansible_install_mpd_conf_src | Nombre de archivo relativo o completo de la fuente de configuración de MPD | mpd.conf.j2 |
ansible_install_mpd_db_file | Nombre completo del archivo de la base de datos de MPD | {{ ansible_install_mpd_home }}/database |
ansible_install_mpd_executable | Nombre completo del archivo ejecutable de MPD | /usr/local/bin/mpd |
ansible_install_mpd_filename | Nombre completo del archivo comprimido de MPD | {{ ansible_install_mpd_shortname }}.tar.gz |
ansible_install_mpd_gcc_version | Versión del compilador Gnu C a instalar | 8 |
ansible_install_mpd_group | Grupo del usuario que poseerá el proceso del demonio | mpd |
ansible_install_mpd_home | Directorio principal para que la aplicación funcione | /home/mpd |
ansible_install_mpd_log_file | Nombre completo del archivo de registro de MPD | {{ ansible_install_mpd_home }}/log |
ansible_install_mpd_music_directory | Carpeta para almacenar música | {{ ansible_install_mpd_home }}/music |
ansible_install_mpd_pid_file | Nombre completo del archivo PID de MPD | {{ ansible_install_mpd_home }}/pid |
ansible_install_mpd_playlist_directory | Carpeta para almacenar listas de reproducción | {{ ansible_install_mpd_home }}/playlist |
ansible_install_mpd_port | Dirección para enlazar la interfaz de control | 6600 |
ansible_install_mpd_shortname | Nombre corto del archivo comprimido de MPD | mpd-0.22.10 |
ansible_install_mpd_src | Directorio donde descomprimir el código fuente | {{ ansible_install_mpd_src_base }}/{{ ansible_install_mpd_shortname }} |
ansible_install_mpd_src_base | Directorio donde colocar el archivo comprimido del código fuente | {{ ansible_install_mpd_home }}/src |
ansible_install_mpd_state_file | Nombre completo del archivo de estado de MPD | {{ ansible_install_mpd_home }}/state |
ansible_install_mpd_sticker_file | Nombre completo del archivo de etiqueta de MPD | {{ ansible_install_mpd_home }}/sticker.sql |
ansible_install_mpd_systemd_service_dest | Nombre completo del archivo de unidad de servicio systemd de MPD | /lib/systemd/system/mpd.service |
ansible_install_mpd_systemd_service_src | Nombre de archivo relativo o completo de la fuente de la unidad de servicio systemd de MPD | systemd.mpd.service.j2 |
ansible_install_mpd_systemd_socket_dest | Nombre completo del archivo de unidad de socket systemd de MPD | /lib/systemd/system/mpd.socket |
ansible_install_mpd_systemd_socket_src | Nombre de archivo relativo o completo de la fuente de la unidad de socket systemd de MPD | systemd.mpd.socket.j2 |
ansible_install_mpd_url_base | Base de la URL para descargar el archivo comprimido del código fuente | http://www.musicpd.org/download/mpd/0.22 |
ansible_install_mpd_user | Nombre del usuario que poseerá el proceso del demonio | mpd |
NOTA A
Lista de paquetes APT instalados como requisitos previos:
- 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
NOTA B
Ejemplo de una salida de flujo HTTP en el diccionario ansible_install_mpd_audio_output
:
httpd:
type: httpd
name: Mi flujo HTTP
encoder: lame
port: 8000
bitrate: 128
format: "44100:16:2"
Dependencias
Este rol no depende de ninguno otro.
Ejemplo de Playbook
Configura cada servidor MPD para acceso solo a localhost y un mpd.conf personalizado:
- 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 }
Licencia
Licencia Pública General GNU versión 2
Información del Autor
Chris Lindbergh @kso512
Ansible role to install Music Player Daemon from source
ansible-galaxy install kso512.ansible-install-mpd