ansible-install-mpd
ansible-install-mpd
Роль Ansible для установки приложения Music Player Daemon из исходников, а не через пакетный менеджер. Некоторые пакетные менеджеры могут не включать такие функции, как поддержка MP3, поэтому сборка из исходного кода может быть полезной.
Эта роль устарела и заменена новой: kso512.mpd
Я не рекомендую использовать стандартную конфигурацию для незащищенного подключения напрямую к Интернету, так как конфигурация сервера позволяет доступ без пароля. Вместо этого я рекомендую администратору повысить безопасность, настроив переменную хоста или группы, которая переопределяет ansible_install_mpd_conf_src
с помощью пользовательского файла за пределами репозитория.
Проверено на следующих дистрибутивах:
Требования
Если на сервере включен брандмауэр, может потребоваться его изменение для разрешения входящих пакетов на TCP портах 6600/8000. Роль не включает музыку или плейлисты, поэтому вам нужно будет их предоставить. См. раздел Переменные роли ниже для указания местоположений.
Переменные роли
Стандартные значения, указанные ниже, должны работать "из коробки" и требуют настройки только в том случае, если они не соответствуют вашим потребностям.
Название | Описание | Значение по умолчанию |
---|---|---|
ansible_install_mpd_apt_prereqs | Список APT пакетов для установки | (См. ПРИМЕЧАНИЕ A ниже) |
ansible_install_mpd_audio_output | Словарь, содержащий определения аудиовыхода | (См. ПРИМЕЧАНИЕ B ниже) |
ansible_install_mpd_bind_to_address | Адрес для привязки интерфейса управления; примеры: "any" или "localhost" | any |
ansible_install_mpd_conf | Полное имя файла конфигурации MPD | {{ ansible_install_mpd_home }}/mpd.conf |
ansible_install_mpd_conf_src | Относительное или полное имя файла источника конфигурации MPD | mpd.conf.j2 |
ansible_install_mpd_db_file | Полное имя файла базы данных MPD | {{ ansible_install_mpd_home }}/database |
ansible_install_mpd_executable | Полное имя исполняемого файла MPD | /usr/local/bin/mpd |
ansible_install_mpd_filename | Полное имя архива MPD | {{ ansible_install_mpd_shortname }}.tar.gz |
ansible_install_mpd_gcc_version | Версия компилятора Gnu C для установки | 8 |
ansible_install_mpd_group | Группа пользователя, который будет владеть процессом демона | mpd |
ansible_install_mpd_home | Основной каталог, в котором будет работать приложение | /home/mpd |
ansible_install_mpd_log_file | Полное имя файла журнала MPD | {{ ansible_install_mpd_home }}/log |
ansible_install_mpd_music_directory | Папка для хранения музыки | {{ ansible_install_mpd_home }}/music |
ansible_install_mpd_pid_file | Полное имя файла PID MPD | {{ ansible_install_mpd_home }}/pid |
ansible_install_mpd_playlist_directory | Папка для хранения плейлистов | {{ ansible_install_mpd_home }}/playlist |
ansible_install_mpd_port | Адрес для привязки интерфейса управления | 6600 |
ansible_install_mpd_shortname | Короткое имя архива MPD | mpd-0.22.10 |
ansible_install_mpd_src | Каталог для распаковки исходного кода | {{ ansible_install_mpd_src_base }}/{{ ansible_install_mpd_shortname }} |
ansible_install_mpd_src_base | Каталог для размещения архива исходного кода | {{ ansible_install_mpd_home }}/src |
ansible_install_mpd_state_file | Полное имя файла состояния MPD | {{ ansible_install_mpd_home }}/state |
ansible_install_mpd_sticker_file | Полное имя файла наклейки MPD | {{ ansible_install_mpd_home }}/sticker.sql |
ansible_install_mpd_systemd_service_dest | Полное имя файла юнита сервиса MPD для systemd | /lib/systemd/system/mpd.service |
ansible_install_mpd_systemd_service_src | Относительное или полное имя файла источника юнита сервиса MPD для systemd | systemd.mpd.service.j2 |
ansible_install_mpd_systemd_socket_dest | Полное имя файла юнита сокета MPD для systemd | /lib/systemd/system/mpd.socket |
ansible_install_mpd_systemd_socket_src | Относительное или полное имя файла источника юнита сокета MPD для systemd | systemd.mpd.socket.j2 |
ansible_install_mpd_url_base | База URL для загрузки архива исходного кода | http://www.musicpd.org/download/mpd/0.22 |
ansible_install_mpd_user | Имя пользователя, который будет владеть процессом демона | mpd |
ПРИМЕЧАНИЕ A
Список APT пакетов, установленных в качестве предварительных требований:
- 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
ПРИМЕЧАНИЕ B
Пример HTTP-выходного потока в словаре ansible_install_mpd_audio_output
:
httpd:
type: httpd
name: Мой HTTP-стрим
encoder: lame
port: 8000
bitrate: 128
format: "44100:16:2"
Зависимости
Эта роль не зависит от других.
Пример плейбука
Настроить каждый сервер MPD только для локального доступа и пользовательского mpd.conf:
- 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 }
Лицензия
GNU General Public License версия 2
Информация об авторе
Крис Линдберг @kso512
Ansible role to install Music Player Daemon from source
ansible-galaxy install kso512/ansible-install-mpd