mpd

mpd

Релиз Проблемы на GitHub Размер репозитория на GitHub

создано с помощью Bash создано с помощью Markdown GitHub

Это рельс для установки приложения Music Player Daemon из исходников вместо использования менеджера пакетов. Некоторые менеджеры пакетов могут не включать такие функции, как поддержка MP3, поэтому сборка из исходного кода может помочь.

Это полная переработка ранее созданного и поддерживаемого мной рельса ansible-install-mpd, выполненная из-за изменений в CI/CD и наименованиях в Ansible Galaxy.

Я не рекомендую использовать стандартную конфигурацию для незащищенных соединений напрямую с интернетом, так как конфигурация сервера позволяет доступ без пароля. Вместо этого я рекомендую оператору повысить безопасность, настроив переменную хоста или группы, которая заменяет mpd_conf_src на пользовательский файл за пределами репозитория, как показано в разделе Пример плейбука ниже.

Все задачи отмечены тегом mpd.

Следующие дистрибутивы были протестированы автоматически:

Матрица версий

Версия рельса/Тег Версия MPD
1.0.19 0.23.15
1.0.18 0.23.14
1.0.16 - 1.0.17 0.23.13
1.0.14 - 1.0.15 0.23.12
1.0.13 0.23.11

Требования

Если сервер имеет включенный файервол, его возможно надо будет изменить, чтобы разрешить входящие пакеты на TCP портах 6600/8000. Рельс не включает музыку или плейлисты, так что вам нужно будет предоставить их. См. раздел Переменные рельса ниже для этих мест.

Переменные рельса

Значения по умолчанию, показанные ниже, должны работать "из коробки" и требуют настройки только в том случае, если они не соответствуют вашим потребностям.

Название Описание Значение по умолчанию
mpd_apt_prereqs Список пакетов APT для установки (См. ПРИМЕЧАНИЕ A ниже)
mpd_audio_output Словарь, содержащий определения аудиовыхода (См. ПРИМЕЧАНИЕ B ниже)
mpd_bind_to_address Адрес для привязки интерфейса управления; примеры "any" или "localhost" "any"
mpd_comment Комментарий для пользователя MPD "Music Player Daemon"
mpd_compile_creates Полное имя файла, создаваемого при компиляции MPD "{{ mpd_src }}/output/release/mpd"
mpd_conf Полное имя файла конфигурации MPD "{{ mpd_home }}/mpd.conf"
mpd_conf_mode Настройки режима файла конфигурации MPD "0644"
mpd_conf_src Относительное или полное имя файла источника конфигурации MPD mpd.conf.j2
mpd_configure_creates Полное имя файла, создаваемого при настройке источника MPD "{{ mpd_src }}/output/release/build.ninja"
mpd_database_plugin Тип используемого плагина базы данных; см. Плагины базы данных для опций. "simple"
mpd_database_path Полное имя файла базы данных MPD "{{ mpd_home }}/tag_cache"
mpd_database_cache_directory Путь к каталогу кеша для дополнительных хранилищ, смонтированных во время выполнения "{{ mpd_home }}/cache"
mpd_executable Полное имя исполняемого файла MPD "/usr/local/bin/mpd"
mpd_filename Имя файла архива MPD "{{ mpd_shortname }}.tar.xz"
mpd_group Группа пользователя, которая будет владеть процессом демона "{{ mpd_user }}"
mpd_home Основной каталог для запуска приложения "/home/{{ mpd_user }}"
mpd_log_file Полное имя файла журнала MPD "{{ mpd_home }}/log"
mpd_metadata_to_use Используйте только указанные теги через запятую и игнорируйте остальные; см. Теги для списка поддерживаемых тегов "AlbumArtist,Artist,Album,Title,Track,Disc,Genre,Name"
mpd_mode Настройки режима файла источника MPD, музыки и папок плейлистов "0755"
mpd_music_directory Папка для хранения музыки "{{ mpd_home }}/music"
mpd_neighbors Список плагинов-соседей для включения (См. ПРИМЕЧАНИЕ C ниже)
mpd_pid_file Полное имя файла PID MPD "{{ mpd_home }}/pid"
mpd_pip_prereqs Список пакетов PIP для установки "meson>0.56.0"
mpd_playlist_directory Папка для хранения плейлистов "{{ mpd_home }}/playlist"
mpd_port TCP порт для привязки интерфейса управления "6600"
mpd_ratings_file Полное имя файла рейтингов MPD "{{ mpd_home }}/ratings.db"
mpd_shortname Короткое имя архива MPD "mpd-0.23.15"
mpd_src Директория для разархивирования исходного кода "{{ mpd_src_base }}/{{ mpd_shortname }}"
mpd_src_base Директория для размещения архива исходного кода "{{ mpd_home }}/src"
mpd_state_file Полное имя файла состояния MPD "{{ mpd_home }}/state"
mpd_sticker_file Полное имя файла стикера MPD "{{ mpd_home }}/sticker.sql"
mpd_systemd_service_dest Полное имя файла юнита сервиса MPD systemd "/etc/systemd/system/mpd.service"
mpd_systemd_service_group Группа пользователя, который будет владеть файлом юнита systemd "root"
mpd_systemd_service_owner Имя пользователя, который будет владеть файлом юнита systemd "root"
mpd_systemd_service_mode Настройки режима файла юнита systemd "0644"
mpd_systemd_service_src Относительное или полное имя файла источника юнита сервиса MPD systemd "systemd.mpd.service.j2"
mpd_url Полный URL для скачивания архива исходного кода "{{ mpd_url_base }}/{{ mpd_filename }}"
mpd_url_base Базовый URL для скачивания архива исходного кода "http://www.musicpd.org/download/mpd/0.23"
mpd_user Имя пользователя, который будет владеть процессом демона "mpd"

ПРИМЕЧАНИЕ A

mpd_apt_prereqs - Список пакетов APT для установки:

  • meson
  • g++
  • libfmt-dev
  • libpcre2-dev
  • libmad0-dev
  • libmpg123-dev
  • libid3tag0-dev
  • libflac-dev
  • libvorbis-dev
  • libopus-dev
  • libogg-dev
  • libadplug-dev
  • libaudiofile-dev
  • libsndfile1-dev
  • libfaad-dev
  • libfluidsynth-dev
  • libgme-dev
  • libmikmod-dev
  • libmodplug-dev
  • libmpcdec-dev
  • libwavpack-dev
  • libwildmidi-dev
  • libsidplay2-dev
  • libsidutils-dev
  • libresid-builder-dev
  • libavcodec-dev
  • libavformat-dev
  • libmp3lame-dev
  • libtwolame-dev
  • libshine-dev
  • libsamplerate0-dev
  • libsoxr-dev
  • libbz2-dev
  • libcdio-paranoia-dev
  • libiso9660-dev
  • libmms-dev
  • libzzip-dev
  • libcurl4-gnutls-dev
  • libyajl-dev
  • libexpat-dev
  • libasound2-dev
  • libao-dev
  • libjack-jackd2-dev
  • libopenal-dev
  • libpulse-dev
  • libshout3-dev
  • libsndio-dev
  • libmpdclient-dev
  • libnfs-dev
  • libupnp-dev
  • libavahi-client-dev
  • libsqlite3-dev
  • libsystemd-dev
  • libgtest-dev
  • libboost-dev
  • libicu-dev
  • libchromaprint-dev
  • libgcrypt20-dev

ПРИМЕЧАНИЕ B

mpd_audio_output - Словарь, содержащий определения аудиовыхода:

httpd:
  type: httpd
  name: My HTTP Stream
  encoder: lame
  port: 8000
  bitrate: 128
  format: "44100:16:2"
  always_on: "yes"
  tags: "yes"

ПРИМЕЧАНИЕ C

mpd_neighbors - Список плагинов-соседей для включения; ознакомьтесь с разделом Настройка плагинов-соседей для получения дополнительной информации.

  • udisks
  • upnp

Зависимости

Пока не определены.

Пример плейбука

Настройка каждого сервера MPD с помощью пользовательского локального mpd.conf:

- hosts: music-servers
  roles:
    - { role: kso512.mpd, 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/mpd
Лицензия
gpl-2.0
Загрузки
207
Владелец