kso512.mpd

mpd

Wydanie Problemy GitHub Rozmiar repozytorium GitHub

stworzone w Bash stworzone w Markdown Licencja GitHub

Rola Ansible do instalacji aplikacji Music Player Daemon z kodu źródłowego zamiast przez menedżera pakietów. Niektóre menedżery pakietów mogą nie zawierać funkcji, takich jak wsparcie dla MP3, więc kompilacja z kodu źródłowego może pomóc.

To jest całkowite przebudowanie roli ansible-install-mpd, którą stworzyłem i utrzymywałem przez lata, wykonane z powodu zmian w CI/CD i konwencjach nazewnictwa w Ansible Galaxy.

Nie polecam domyślnej konfiguracji dla niechronionego połączenia bezpośrednio z Internetem, ponieważ konfiguracja serwera pozwala na dostęp bez hasła. Zamiast tego, zalecam zwiększenie bezpieczeństwa przez skonfigurowanie zmiennej hosta lub grupy, która nadpisuje mpd_conf_src własnym plikiem spoza repozytorium, jak pokazano w sekcji Przykładowy Playbook poniżej.

Wszystkie zadania są oznaczone tagiem mpd.

Poniższe dystrybucje zostały przetestowane automatycznie:

Matryca wersji

Wersja/Tag roli Wersja 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

Wymagania

Jeśli serwer ma włączoną zaporę ogniową, może być konieczna jej modyfikacja, aby zezwolić na przychodzące pakiety na porty TCP 6600/8000. Rola nie zawiera muzyki ani list odtwarzania, więc musisz je dostarczyć. Zobacz sekcję Zmienne roli poniżej, aby uzyskać te lokalizacje.

Zmienne roli

Domyślne wartości pokazane poniżej powinny działać "od ręki" i potrzebują dostosowania tylko wtedy, gdy nie spełniają Twoich potrzeb.

Nazwa Opis Wartość domyślna
mpd_apt_prereqs Lista pakietów APT do zainstalowania (Zobacz UWAGA A poniżej)
mpd_audio_output Słownik zawierający definicje wyjścia audio (Zobacz UWAGA B poniżej)
mpd_bind_to_address Adres, do którego należy przypisać interfejs kontrolny; przykłady to "any" lub "localhost" "any"
mpd_comment Komentarz dla użytkownika MPD "Music Player Daemon"
mpd_compile_creates Pełna lokalizacja pliku utworzonego podczas kompilacji MPD "{{ mpd_src }}/output/release/mpd"
mpd_conf Pełna lokalizacja pliku konfiguracyjnego MPD "{{ mpd_home }}/mpd.conf"
mpd_conf_mode Ustawienia trybu pliku pliku konfiguracyjnego MPD "0644"
mpd_conf_src Względna lub pełna lokalizacja źródłowego pliku konfiguracyjnego MPD mpd.conf.j2
mpd_configure_creates Pełna lokalizacja pliku utworzonego podczas konfigurowania źródła MPD "{{ mpd_src }}/output/release/build.ninja"
mpd_database_plugin Typ wtyczki bazy danych do użycia; zobacz Wtyczki bazy danych dla opcji. "simple"
mpd_database_path Pełna lokalizacja pliku bazy danych MPD "{{ mpd_home }}/tag_cache"
mpd_database_cache_directory Ścieżka katalogu pamięci podręcznej dla dodatkowych pamięci montowanych w czasie rzeczywistym "{{ mpd_home }}/cache"
mpd_executable Pełna lokalizacja pliku wykonywalnego MPD "/usr/local/bin/mpd"
mpd_filename Nazwa pliku archiwum MPD "{{ mpd_shortname }}.tar.xz"
mpd_group Grupa użytkownika, która będzie właścicielem procesu demona "{{ mpd_user }}"
mpd_home Główny katalog do uruchamiania aplikacji "/home/{{ mpd_user }}"
mpd_log_file Pełna lokalizacja pliku logów MPD "{{ mpd_home }}/log"
mpd_metadata_to_use Używaj tylko określonych tagów oddzielonych przecinkami, ignorując inne; zobacz Tagi dla listy obsługiwanych tagów "AlbumArtist,Artist,Album,Title,Track,Disc,Genre,Name"
mpd_mode Ustawienia trybu pliku folderów źródłowych MPD, muzyki i listy odtwarzania "0755"
mpd_music_directory Katalog do przechowywania muzyki "{{ mpd_home }}/music"
mpd_neighbors Lista sąsiednich wtyczek do włączenia (Zobacz UWAGA C poniżej)
mpd_pid_file Pełna lokalizacja pliku PID MPD "{{ mpd_home }}/pid"
mpd_pip_prereqs Lista pakietów PIP do zainstalowania "meson>0.56.0"
mpd_playlist_directory Katalog do przechowywania list odtwarzania "{{ mpd_home }}/playlist"
mpd_port Port TCP, do którego należy przypisać interfejs kontrolny "6600"
mpd_ratings_file Pełna lokalizacja pliku ocen MPD "{{ mpd_home }}/ratings.db"
mpd_shortname Krótka nazwa archiwum MPD "mpd-0.23.15"
mpd_src Katalog do rozpakowania kodu źródłowego "{{ mpd_src_base }}/{{ mpd_shortname }}"
mpd_src_base Katalog do umieszczenia archiwum kodu źródłowego "{{ mpd_home }}/src"
mpd_state_file Pełna lokalizacja pliku stanu MPD "{{ mpd_home }}/state"
mpd_sticker_file Pełna lokalizacja pliku naklejki MPD "{{ mpd_home }}/sticker.sql"
mpd_systemd_service_dest Pełna lokalizacja pliku jednostki usługi systemd MPD "/etc/systemd/system/mpd.service"
mpd_systemd_service_group Grupa użytkownika, która będzie właścicielem pliku jednostki systemd "root"
mpd_systemd_service_owner Nazwa użytkownika, który będzie właścicielem pliku jednostki systemd "root"
mpd_systemd_service_mode Ustawienia trybu pliku jednostki systemd "0644"
mpd_systemd_service_src Względna lub pełna lokalizacja źródłowego pliku jednostki usługi systemd MPD "systemd.mpd.service.j2"
mpd_url Pełny adres URL do pobrania archiwum kodu źródłowego "{{ mpd_url_base }}/{{ mpd_filename }}"
mpd_url_base Baza adresu URL do pobrania archiwum kodu źródłowego "http://www.musicpd.org/download/mpd/0.23"
mpd_user Nazwa użytkownika, który będzie właścicielem procesu demona "mpd"

UWAGA A

mpd_apt_prereqs - Lista pakietów APT do zainstalowania:

  • 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

UWAGA B

mpd_audio_output - Słownik zawierający definicje wyjścia audio:

httpd:
  type: httpd
  name: Moje strumieniowe połączenie HTTP
  encoder: lame
  port: 8000
  bitrate: 128
  format: "44100:16:2"
  always_on: "yes"
  tags: "yes"

UWAGA C

mpd_neighbors - Lista wtyczek sąsiednich do włączenia; zobacz Konfigurowanie wtyczek sąsiednich dla więcej informacji.

  • udisks
  • upnp

Zależności

Na razie brak.

Przykładowy Playbook

Skonfiguruj każdy serwer MPD z dostosowanym lokalnym plikiem mpd.conf:

- hosts: music-servers
  roles:
    - { role: kso512.mpd, mpd_conf_src: local/mpd.conf.j2 }

Licencja

GNU General Public License wersja 2

Informacje o autorze

@kso512

O projekcie

Ansible role to install Music Player Daemon from source

Zainstaluj
ansible-galaxy install kso512.mpd
Licencja
gpl-2.0
Pobrania
218
Właściciel