kso512.ansible-install-mpd
ansible-install-mpd
これは、Ansible の Role で、Music Player Daemon アプリケーションをパッケージマネージャーを使わずにソースからインストールします。一部のパッケージマネージャーには、MP3サポートなどの機能が含まれていない場合があるため、ソースコードからのコンパイルが役立つことがあります。
このロールは廃止され、新しいロール kso512.mpd に置き換えられました。
インターネットに直接保護されていない接続のデフォルト構成は推奨しません。サーバーの設定には、パスワードなしのアクセスが含まれています。 代わりに、オペレーターがセキュリティを強化するために、リポジトリの外部からカスタムファイルで ansible_install_mpd_conf_src
をオーバーライドするホストまたはグループ変数を設定することをお勧めします。
以下のディストリビューションでテスト済み:
要件
サーバーにファイアウォールが有効な場合、TCPポート6600/8000での着信パケットを許可するように変更する必要があるかもしれません。このロールには音楽やプレイリストが含まれていないため、それらを用意する必要があります。ロール変数のセクションである Role Variables を参照してください。
ロール変数
以下のデフォルト値は、「すぐに使える」もので、ニーズに合わない場合のみカスタマイズが必要です。
名前 | 説明 | デフォルト値 |
---|---|---|
ansible_install_mpd_apt_prereqs | インストールするAPTパッケージのリスト | (以下のNOTE Aを参照) |
ansible_install_mpd_audio_output | 音声出力定義の辞書 | (以下のNOTE 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 | MPD PIDファイルの完全修飾ファイル名 | {{ 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 |
NOTE 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
NOTE B
ansible_install_mpd_audio_output
辞書におけるHTTPストリーム出力の例:
httpd:
type: httpd
name: My HTTP Stream
encoder: lame
port: 8000
bitrate: 128
format: "44100:16:2"
依存関係
このロールは他に依存しません。
使用例プレイブック
各MPDサーバーをlocalhost専用アクセスとカスタム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 version 2
著者情報
Chris Lindbergh @kso512