kso512.ansible-install-mpd
ansible-install-mpd
Eine Ansible Rolle zur Installation der Music Player Daemon Anwendung aus dem Quellcode anstatt über einen Paketmanager. Einige Paketmanager enthalten möglicherweise keine Funktionen wie MP3-Unterstützung, daher kann die Kompilierung aus dem Quellcode hilfreich sein.
Diese Rolle wurde eingestellt und durch eine neue Rolle ersetzt: kso512.mpd
Ich empfehle die Standardkonfiguration für eine ungeschützte Verbindung zum Internet nicht, da die Serverkonfiguration den Zugriff ohne Passwort umfasst. Stattdessen empfehle ich dem Betreiber, die Sicherheit zu erhöhen, indem er eine Host- oder Gruppenvariable konfiguriert, die ansible_install_mpd_conf_src
mit einer benutzerdefinierten Datei außerhalb des Repositories überschreibt.
Getestet auf folgenden Distributionen:
Anforderungen
Wenn der Server eine Firewall aktiviert hat, kann es notwendig sein, diese zu ändern, um eingehende Pakete über TCP-Ports 6600/8000 zuzulassen. Die Rolle beinhaltet keine Musik oder Wiedergabelisten, daher müssen Sie diese bereitstellen. Siehe den Abschnitt Rollenvariablen weiter unten für die entsprechenden Speicherorte.
Rollenvariablen
Die Standardwerte, die unten angezeigt werden, sollten "von Haus aus" funktionieren und müssen nur angepasst werden, wenn sie nicht Ihren Anforderungen entsprechen.
Name | Beschreibung | Standardwert |
---|---|---|
ansible_install_mpd_apt_prereqs | Liste der zu installierenden APT-Pakete | (Siehe HINWEIS A unten) |
ansible_install_mpd_audio_output | Wörterbuch mit Audioausgabedefinitionen | (Siehe HINWEIS B unten) |
ansible_install_mpd_bind_to_address | Adresse, an die die Steueroberfläche gebunden werden soll; Beispiele sind "any" oder "localhost" | any |
ansible_install_mpd_conf | Vollständiger Dateiname der MPD-Konfigurationsdatei | {{ ansible_install_mpd_home }}/mpd.conf |
ansible_install_mpd_conf_src | Relativer oder vollständiger Dateiname der MPD-Konfigurationsdatei Quelle | mpd.conf.j2 |
ansible_install_mpd_db_file | Vollständiger Dateiname der MPD-Datenbankdatei | {{ ansible_install_mpd_home }}/database |
ansible_install_mpd_executable | Vollständiger Dateiname der MPD-Ausführungsdatei | /usr/local/bin/mpd |
ansible_install_mpd_filename | Voller Name des MPD-Archivs | {{ ansible_install_mpd_shortname }}.tar.gz |
ansible_install_mpd_gcc_version | Version des zu installierenden GNU C Compilers | 8 |
ansible_install_mpd_group | Gruppe des Benutzers, der den Daemon-Prozess besitzt | mpd |
ansible_install_mpd_home | Hauptverzeichnis, in dem die Anwendung ausgeführt wird | /home/mpd |
ansible_install_mpd_log_file | Vollständiger Dateiname der MPD-Protokolldatei | {{ ansible_install_mpd_home }}/log |
ansible_install_mpd_music_directory | Ordner zum Speichern von Musik | {{ ansible_install_mpd_home }}/music |
ansible_install_mpd_pid_file | Vollständiger Dateiname der MPD-PID-Datei | {{ ansible_install_mpd_home }}/pid |
ansible_install_mpd_playlist_directory | Ordner zum Speichern von Wiedergabelisten | {{ ansible_install_mpd_home }}/playlist |
ansible_install_mpd_port | Adresse, an die die Steueroberfläche gebunden werden soll | 6600 |
ansible_install_mpd_shortname | Kurzname des MPD-Archivs | mpd-0.22.10 |
ansible_install_mpd_src | Verzeichnis zum Entpacken des Quellcodes | {{ ansible_install_mpd_src_base }}/{{ ansible_install_mpd_shortname }} |
ansible_install_mpd_src_base | Verzeichnis, in dem das Quellcode-Archiv abgelegt wird | {{ ansible_install_mpd_home }}/src |
ansible_install_mpd_state_file | Vollständiger Dateiname der MPD-Zustandsdatei | {{ ansible_install_mpd_home }}/state |
ansible_install_mpd_sticker_file | Vollständiger Dateiname der MPD-Stickerdatei | {{ ansible_install_mpd_home }}/sticker.sql |
ansible_install_mpd_systemd_service_dest | Vollständiger Dateiname der MPD systemdDienstdatei | /lib/systemd/system/mpd.service |
ansible_install_mpd_systemd_service_src | Relativer oder vollständiger Dateiname der MPD systemd-Dienstdatei Quelle | systemd.mpd.service.j2 |
ansible_install_mpd_systemd_socket_dest | Vollständiger Dateiname der MPD systemd-Socketdatei | /lib/systemd/system/mpd.socket |
ansible_install_mpd_systemd_socket_src | Relativer oder vollständiger Dateiname der MPD systemd-Socketdatei Quelle | systemd.mpd.socket.j2 |
ansible_install_mpd_url_base | Basis-URL zum Herunterladen des Quellcode-Archivs | http://www.musicpd.org/download/mpd/0.22 |
ansible_install_mpd_user | Name des Benutzers, der den Daemon-Prozess besitzt | mpd |
HINWEIS A
Liste der als Voraussetzung installierten APT-Pakete:
- 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
HINWEIS B
Beispiel eines HTTP-Stream-Ausgangs im ansible_install_mpd_audio_output
Wörterbuch:
httpd:
type: httpd
name: Mein HTTP Stream
encoder: lame
port: 8000
bitrate: 128
format: "44100:16:2"
Abhängigkeiten
Diese Rolle hat keine weiteren Abhängigkeiten.
Beispiel-Playbook
Konfigurieren Sie jeden MPD-Server nur für den localhost-Zugriff und eine benutzerdefinierte 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 }
Lizenz
GNU General Public License Version 2
Autoreninformationen
Chris Lindbergh @kso512
Ansible role to install Music Player Daemon from source
ansible-galaxy install kso512.ansible-install-mpd