kso512.mpd

mpd

Release GitHub issues GitHub repo size

made-with-bash made-with-Markdown GitHub

Ein Ansible Rollenspiel, um die Anwendung Music Player Daemon aus dem Quellcode zu installieren, anstatt über einen Paketmanager. Einige Paketmanager unterstützen möglicherweise keine Funktionen wie MP3-Unterstützung, daher kann das Kompilieren aus dem Quellcode hilfreich sein.

Dies ist ein kompletter Neuaufbau des ansible-install-mpd Rollenspiels, das ich jahrelang erstellt und gewartet habe. Die Neubearbeitung wurde aufgrund von Änderungen in CI/CD und Namenskonventionen in Ansible Galaxy durchgeführt.

Ich empfehle nicht die Standardkonfiguration für eine ungeschützte Verbindung direkt zum Internet, da die Serverkonfiguration den Zugriff ohne Passwort einschließt. Stattdessen empfehle ich, die Sicherheit zu erhöhen, indem eine Host- oder Gruppenvariable konfiguriert wird, die mpd_conf_src mit einer benutzerdefinierten Datei außerhalb des Repositories überschreibt, wie im Abschnitt Beispiel-Playbook weiter unten gezeigt.

Alle Aufgaben sind mit mpd gekennzeichnet.

Die folgenden Distributionen wurden automatisch getestet:

Versionsmatrix

Rollenversion/Tag MPD-Version
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

Anforderungen

Wenn der Server eine Firewall aktiviert hat, müssen möglicherweise Änderungen vorgenommen werden, um eingehende Pakete auf den TCP-Ports 6600/8000 zuzulassen. Die Rolle umfasst keine Musik oder Wiedergabelisten, daher müssen Sie diese bereitstellen. Siehe den Abschnitt Rollen-Variablen weiter unten für die entsprechenden Standorte.

Rollenvariablen

Die unten angezeigten Standardwerte sollten "out-of-the-box" funktionieren und müssen nur angepasst werden, wenn sie nicht Ihren Bedürfnissen entsprechen.

Name Beschreibung Standardwert
mpd_apt_prereqs Liste der APT-Pakete zur Installation (Siehe HINWEIS A unten)
mpd_audio_output Wörterbuch mit Audioausgabedefinitionen (Siehe HINWEIS B unten)
mpd_bind_to_address Adresse, an die die Steueroberfläche gebunden werden soll; Beispiele sind "any" oder "localhost" "any"
mpd_comment Kommentar für den MPD-Benutzer "Music Player Daemon"
mpd_compile_creates Vollständiger Pfadname der Datei, die beim Kompilieren von MPD erstellt wird "{{ mpd_src }}/output/release/mpd"
mpd_conf Vollständiger Pfadname der MPD-Konfigurationsdatei "{{ mpd_home }}/mpd.conf"
mpd_conf_mode Dateimoduseinstellungen der MPD-Konfigurationsdatei "0644"
mpd_conf_src Relativer oder vollständiger Pfadname der MPD-Konfigurationsdatei-Quelle mpd.conf.j2
mpd_configure_creates Vollständiger Pfadname der Datei, die beim Konfigurieren der MPD-Quelle erstellt wird "{{ mpd_src }}/output/release/build.ninja"
mpd_database_plugin Art des zu verwendenden Datenbank-Plugins; siehe Datenbank-Plugins für Optionen. "simple"
mpd_database_path Vollständiger Pfadname der MPD-Datenbankdatei "{{ mpd_home }}/tag_cache"
mpd_database_cache_directory Der Pfad des Cache-Verzeichnisses für zusätzliche Speicher, die zur Laufzeit eingebunden sind "{{ mpd_home }}/cache"
mpd_executable Vollständiger Pfadname der MPD-Ausführungsdatei "/usr/local/bin/mpd"
mpd_filename Dateiname des MPD-Archivs "{{ mpd_shortname }}.tar.xz"
mpd_group Gruppe des Benutzers, der den Daemon-Prozess besitzen wird "{{ mpd_user }}"
mpd_home Hauptverzeichnis, in dem die Anwendung ausgeführt wird "/home/{{ mpd_user }}"
mpd_log_file Vollständiger Pfadname der MPD-Protokolldatei "{{ mpd_home }}/log"
mpd_metadata_to_use Nur die angegebenen, durch Kommas getrennten Tags verwenden und die anderen ignorieren; siehe Tags für eine Liste der unterstützten Tags "AlbumArtist,Artist,Album,Title,Track,Disc,Genre,Name"
mpd_mode Dateimoduseinstellungen für den MPD-Quell-, Musik- und Wiedergabelistenordner "0755"
mpd_music_directory Ordner zum Speichern der Musik "{{ mpd_home }}/music"
mpd_neighbors Liste der zu aktivierenden Nachbar-Plugins (Siehe HINWEIS C unten)
mpd_pid_file Vollständiger Pfadname der MPD-PID-Datei "{{ mpd_home }}/pid"
mpd_pip_prereqs Liste der zu installierenden PIP-Pakete "meson>0.56.0"
mpd_playlist_directory Ordner zum Speichern der Wiedergabelisten "{{ mpd_home }}/playlist"
mpd_port TCP-Port, an den die Steueroberfläche gebunden wird "6600"
mpd_ratings_file Vollständiger Pfadname der MPD-Bewertungsdatei "{{ mpd_home }}/ratings.db"
mpd_shortname Kurzname des MPD-Archivs "mpd-0.23.15"
mpd_src Verzeichnis zum Entpacken des Quellcodes "{{ mpd_src_base }}/{{ mpd_shortname }}"
mpd_src_base Verzeichnis zum Platzieren des Quellcode-Archivs "{{ mpd_home }}/src"
mpd_state_file Vollständiger Pfadname der MPD-Zustandsdatei "{{ mpd_home }}/state"
mpd_sticker_file Vollständiger Pfadname der MPD-Aufkleberdatei "{{ mpd_home }}/sticker.sql"
mpd_systemd_service_dest Vollständiger Pfadname der MPD-systemd-Dienstdatei "/etc/systemd/system/mpd.service"
mpd_systemd_service_group Gruppe des Benutzers, der die systemd-Einheit besitzen wird "root"
mpd_systemd_service_owner Name des Benutzers, der die systemd-Einheit besitzen wird "root"
mpd_systemd_service_mode Dateimoduseinstellungen der systemd-Einheit "0644"
mpd_systemd_service_src Relativer oder vollständiger Pfadname der MPD-systemd-Dienstdateiquelle "systemd.mpd.service.j2"
mpd_url Vollständige URL zum Herunterladen des Quellcode-Archivs "{{ mpd_url_base }}/{{ mpd_filename }}"
mpd_url_base Basis-URL zum Herunterladen des Quellcode-Archivs "http://www.musicpd.org/download/mpd/0.23"
mpd_user Name des Benutzers, der den Daemon-Prozess besitzen wird "mpd"

HINWEIS A

mpd_apt_prereqs - Liste der zu installierenden APT-Pakete:

  • 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

HINWEIS B

mpd_audio_output - Wörterbuch mit Audioausgabedefinitionen:

httpd:
  type: httpd
  name: Mein HTTP-Stream
  encoder: lame
  port: 8000
  bitrate: 128
  format: "44100:16:2"
  always_on: "ja"
  tags: "ja"

HINWEIS C

mpd_neighbors - Liste der zu aktivierenden Nachbar-Plugins; siehe Konfiguration von Nachbar-Plugins für weitere Informationen.

  • udisks
  • upnp

Abhängigkeiten

Noch keine definiert.

Beispiel-Playbook

Konfigurieren Sie jeden MPD-Server mit einer angepassten lokalen mpd.conf:

- hosts: musik-server
  roles:
    - { role: kso512.mpd, mpd_conf_src: lokal/mpd.conf.j2 }

Lizenz

GNU General Public License Version 2

Autorinformationen

@kso512

Über das Projekt

Ansible role to install Music Player Daemon from source

Installieren
ansible-galaxy install kso512.mpd
GitHub Repository
Lizenz
gpl-2.0
Downloads
218
Besitzer