diff --git a/example/Dockerfile b/example/Dockerfile index ddeb88d..2578b14 100644 --- a/example/Dockerfile +++ b/example/Dockerfile @@ -1,4 +1,9 @@ ARG BUILD_FROM FROM $BUILD_FROM +RUN apk add \ + mpc \ + mpd \ + rclone + COPY rootfs / diff --git a/example/config.yaml b/example/config.yaml index c044bf4..84cdd04 100644 --- a/example/config.yaml +++ b/example/config.yaml @@ -1,5 +1,5 @@ name: MPD -version: "0.0.2" +version: "0.0.3" slug: mpd description: MPD Addon url: "https://forgejo.owo.monster/chaos/hass-mpd/src/branch/main/mpd" diff --git a/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/producer-for b/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/producer-for new file mode 100644 index 0000000..e69de29 diff --git a/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/run b/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/run new file mode 100644 index 0000000..8322b7f --- /dev/null +++ b/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/run @@ -0,0 +1,57 @@ +#!/command/with-contenv bashio +set -e + +# Enable Jemalloc for better memory handling +export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" + +bashio::log.info 'Setup Folders' + +MEDIA_FOLDER=$(bashio::config 'media_folder') +PLAYLIST_FOLDER=$(bashio::config 'playlist_folder') + +mkdir -p /data/database \ + "/media/mpd/media" \ + "/media/mpd/playlists" + +bashio::log.info 'Setup settings' + +if [ "$(bashio::config 'custom_config')" != 'null' ]; then + bashio::log.info 'Use custom config' + cp "$(bashio::config 'custom_config')" '/etc/mpd.conf' +else + bashio::log.info 'Set media folder' + MEDIA_FOLDER=$(bashio::config 'media_folder') + sed -i "s/music_directory.*/music_directory \"${MEDIA_FOLDER//\//\\/}\"/" /etc/mpd.conf + + bashio::log.info 'Set playlist folder' + PLAYLIST_FOLDER=$(bashio::config 'playlist_folder') + sed -i "s/playlist_directory.*/playlist_directory \"${PLAYLIST_FOLDER//\//\\/}\"/" /etc/mpd.conf + + if [ "$(bashio::config 'volume_normalization')" == 'true' ]; then + sed -i "/^#volume_normalization/s/^#//" /etc/mpd.conf + fi + + if [ "$(bashio::config 'verbose')" == 'true' ]; then + sed -i "/^log_level/s/default/verbose/" /etc/mpd.conf + fi + + if [ "$(bashio::config 'httpd_output')" == 'true' ]; then + printf '\n + audio_output { \n + type "httpd" \n + name "HTTPd Output" \n + port "8000" \n + bitrate "192" \n + always_on "yes" \n + }' >> /etc/mpd.conf + bashio::log.info 'HTTPd output enabled' + fi +fi + +chown root:root /usr/bin/mpd +chown root:root /usr/bin/mpc +chmod 0774 /usr/bin/mpd +chmod 0774 /usr/bin/mpc + +bashio::log.info 'Start MPD' +mpd --stdout --no-daemon diff --git a/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/type b/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/example/rootfs/etc/s6-overlay/s6-rc.d/musicsync/type @@ -0,0 +1 @@ +oneshot diff --git a/example/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/musicsync b/example/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/musicsync new file mode 100644 index 0000000..e69de29