kso512.ansible-install-mpd

ansible-install-mpd

Rol de Ansible hecho-con-bash hecho-con-Markdown GitHub

Última versión en GitHub Fecha de lanzamiento en GitHub Tamaño del repositorio en GitHub Problemas en GitHub Forks de GitHub

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

Acerca del proyecto

Ansible role to install Music Player Daemon from source

Instalar
ansible-galaxy install kso512.ansible-install-mpd
Licencia
gpl-2.0
Descargas
105
Propietario