diff --git a/.github/workflows/docker-multi-arch.yml b/.github/workflows/docker-multi-arch.yml index 9d2fb94..bcdaec2 100644 --- a/.github/workflows/docker-multi-arch.yml +++ b/.github/workflows/docker-multi-arch.yml @@ -36,6 +36,8 @@ jobs: declare -A base_images base_images[mantic]=ubuntu:mantic + base_images[lunar]=ubuntu:lunar + base_images[kinetic]=ubuntu:kinetic base_images[jammy]=ubuntu:jammy base_images[bookworm]=debian:bookworm-slim diff --git a/Dockerfile b/Dockerfile index 6ef6d84..88abbe3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -147,12 +147,16 @@ ENV SUBSONIC_BASE_URL "" ENV SUBSONIC_PORT "" ENV SUBSONIC_USER "" ENV SUBSONIC_PASSWORD "" +ENV SUBSONIC_LEGACYAUTH "" ENV SUBSONIC_ITEMS_PER_PAGE "" ENV SUBSONIC_APPEND_YEAR_TO_ALBUM "" ENV SUBSONIC_APPEND_CODECS_TO_ALBUM "" ENV SUBSONIC_WHITELIST_CODECS "" ENV SUBSONIC_DOWNLOAD_PLUGIN "" ENV SUBSONIC_PLUGIN_BRANCH "" +ENV SUBSONIC_FORCE_CONNECTOR_VERSION "" +ENV SUBSONIC_TRANSCODE_CODEC "" +ENV SUBSONIC_TRANSCODE_MAX_BITRATE "" ENV TIDAL_ENABLE "" ENV TIDAL_TOKEN_TYPE "" diff --git a/README.md b/README.md index 22434ba..61764ee 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ I am now a contributor to upmpdcli for this plugin. See the git repository forks The plugin uses my [subsonic-connector](https://github.com/GioF71/subsonic-connector) library which in turn is built around [py-sonic](https://github.com/crustymonkey/py-sonic). Everything has been developed and tested against [Navidrome](https://www.navidrome.org/) but should work with other servers hopefully. See [this](https://github.com/navidrome/navidrome/discussions/2324) discussion on the Navidrome repo for updates and further information. -The current version of the image includes Subsonic Plugin version `0.2.6`. +The current version of the image includes Subsonic Plugin version `0.1.17`. If you use upmpdcli as a renderer for this plugin, you might probably want to setup a scrobbler, so that the Subsonic server can keep track of what you are playing. See [this](https://github.com/GioF71/mpd-subsonic-scrobbler) repository for more details. ### Scrobbling @@ -204,12 +204,16 @@ SUBSONIC_BASE_URL|Subsonic base url. Example: `http://my_navidrome.homelab.local SUBSONIC_PORT|Subsonic port, defaults to `4533` SUBSONIC_USER|Subsonic username SUBSONIC_PASSWORD|Subsonic password +SUBSONIC_LEGACYAUTH|Subsonic legacy authentication (`true`|`false`), set to `true` when using Lightweight Media Server (LMS) SUBSONIC_ITEMS_PER_PAGE|Number of items per page, defaults to `100` SUBSONIC_APPEND_YEAR_TO_ALBUM|If set to `yes` (default), the album year is appended to the album SUBSONIC_APPEND_CODECS_TO_ALBUM|If set to `yes` (default), the codecs for the album are appended to the album unless all codecs are in the white list SUBSONIC_WHITELIST_CODECS|List of comma-separated whitelist (ideally lossless) codecs. Defaults to `alac,wav,flac,dsf` SUBSONIC_DOWNLOAD_PLUGIN|If set to `YES`, the updated plugin is downloaded from the upstream repo -SUBSONIC_PLUGIN_BRANCH|If `SUBSONIC_DOWNLOAD_PLUGIN`, the branch indicated by this variable will be used. Must be specified if enabling `SUBSONIC_DOWNLOAD_PLUGIN`. Suggested branch name is `latest-subsonic` +SUBSONIC_PLUGIN_BRANCH|If `SUBSONIC_DOWNLOAD_PLUGIN`, the branch indicated by this variable will be used. Must be specified if enabling `SUBSONIC_DOWNLOAD_PLUGIN`. Suggested branch name is `next-subsonic` +SUBSONIC_FORCE_CONNECTOR_VERSION|If set, the specified version of subsonic-connector will be installed over the one included in the image +SUBSONIC_TRANSCODE_CODEC|If set, the value will be used as the transcode codec +SUBSONIC_TRANSCODE_MAX_BITRATE|If set, the value will be used as the transcode max bitrate RADIO_PARADISE_ENABLE|Enable the Radio Paradise Plugin, set to `yes` to enable RADIO_PARADISE_DOWNLOAD_PLUGIN|If set to `YES`, the updated plugin is downloaded from the upstream repo RADIO_PARADISE_PLUGIN_BRANCH|If `RADIO_PARADISE_DOWNLOAD_PLUGIN` is set to `yes`, the branch indicated by this variable will be used. Must be specified if enabling `RADIO_PARADISE_DOWNLOAD_PLUGIN`. Suggested branch name is `latest-radio-paradise` diff --git a/app/bin/run-upmpdcli.sh b/app/bin/run-upmpdcli.sh index ffad05a..1bff381 100644 --- a/app/bin/run-upmpdcli.sh +++ b/app/bin/run-upmpdcli.sh @@ -348,6 +348,18 @@ echo "SUBSONIC_ENABLE=[$SUBSONIC_ENABLE]" if [ "${SUBSONIC_ENABLE^^}" == "YES" ]; then echo "Enabling Subsonic, processing settings"; SUBSONIC_ENABLE=YES + # do we need to download a newer subsonic-connector library? + if [[ -n "${SUBSONIC_FORCE_CONNECTOR_VERSION}" ]]; then + echo "Installing subsonic-connector version [${SUBSONIC_FORCE_CONNECTOR_VERSION}]" + break_needed=`cat /app/conf/pip-install-break-needed` + pip_switch="" + if [[ "${break_needed}" == "yes" ]]; then + pip_switch="--break-system-packages" + fi + pip_cmd="pip install ${pip_switch} subsonic-connector==${SUBSONIC_FORCE_CONNECTOR_VERSION}" + echo "pip_cmd: [${pip_cmd}]" + eval $pip_cmd + fi sed -i 's/\#subsonicuser/subsonicuser/g' $CONFIG_FILE echo "SUBSONIC_AUTOSTART=[$SUBSONIC_AUTOSTART]" if [[ -z "${SUBSONIC_AUTOSTART^^}" || "${SUBSONIC_AUTOSTART}" == "1" || "${SUBSONIC_AUTOSTART^^}" == "YES" ]]; then @@ -366,6 +378,10 @@ if [ "${SUBSONIC_ENABLE^^}" == "YES" ]; then echo "Setting subsonic password [$SUBSONIC_PASSWORD]" sed -i 's/\#subsonicpassword/subsonicpassword/g' $CONFIG_FILE sed -i 's/SUBSONIC_PASSWORD/'"$SUBSONIC_PASSWORD"'/g' $CONFIG_FILE + if [[ -n "${SUBSONIC_LEGACYAUTH}" ]]; then + sed -i 's/\#subsoniclegacyauth/subsoniclegacyauth/g' $CONFIG_FILE + sed -i 's/SUBSONIC_LEGACYAUTH/'"$SUBSONIC_LEGACYAUTH"'/g' $CONFIG_FILE + fi if [[ -n "${SUBSONIC_ITEMS_PER_PAGE}" ]]; then sed -i 's/\#subsonicitemsperpage/subsonicitemsperpage/g' $CONFIG_FILE sed -i 's/SUBSONIC_ITEMS_PER_PAGE/'"$SUBSONIC_ITEMS_PER_PAGE"'/g' $CONFIG_FILE @@ -396,6 +412,14 @@ if [ "${SUBSONIC_ENABLE^^}" == "YES" ]; then sed -i 's/\#subsonicwhitelistcodecs/subsonicwhitelistcodecs/g' $CONFIG_FILE sed -i 's/SUBSONIC_WHITELIST_CODECS/'"$SUBSONIC_WHITELIST_CODECS"'/g' $CONFIG_FILE fi + if [[ -n "${SUBSONIC_TRANSCODE_CODEC}" ]]; then + sed -i 's/\#subsonictranscodecodec/subsonictranscodecodec/g' $CONFIG_FILE + sed -i 's/SUBSONIC_TRANSCODE_CODEC/'"$SUBSONIC_TRANSCODE_CODEC"'/g' $CONFIG_FILE + fi + if [[ -n "${SUBSONIC_TRANSCODE_MAX_BITRATE}" ]]; then + sed -i 's/\#subsonictranscodemaxbitrate/subsonictranscodemaxbitrate/g' $CONFIG_FILE + sed -i 's/SUBSONIC_TRANSCODE_MAX_BITRATE/'"$SUBSONIC_TRANSCODE_MAX_BITRATE"'/g' $CONFIG_FILE + fi fi echo "RADIO_PARADISE_ENABLE=[$RADIO_PARADISE_ENABLE]" diff --git a/app/conf/default-upmpdcli.conf b/app/conf/default-upmpdcli.conf deleted file mode 100644 index 9a81c4f..0000000 --- a/app/conf/default-upmpdcli.conf +++ /dev/null @@ -1,267 +0,0 @@ -#The XML tags in the comments are used to help produce the documentation -#from the sample/reference file, and not at all at run time, where -#comments are just comments. Edit at will. -#The command line options have higher priorities than the values in -#this file. - -# Upmpdcli configuration - - -# Upmpdcli general parameters - -# Log file name. -#logfilename = -# Log level. -#loglevel = 2 -# Log file name for the low level UPnP lib (libnpupnp). -#upnplogfilename= -# Log level for the low level UPnP lib. -#upnploglevel = 2 -# XML and other constant data storage directory. -#pkgdatadir=/usr/share/upmpdcli -# Name of the lock file used to store the current process pid. -#pidfile = /var/run/upmpdcli.pid - -# UPnP network parameters - -# Network interface(s) to use for UPnP. -#upnpiface = -# IP V4 address to use for UPnP, alternative to using an interface name. -#upnpip = -# Port number used for UPnP. -#upnpport = -# Enable use of IPV6. -#useipv6 = false - -# Media Renderer parameters - -# "Friendly Name" for the Media Renderer. -#friendlyname = UpMpd -# Specific friendly name for the UPnP/AV Media Renderer. -#avfriendlyname = -# Enable UPnP AV services (0/1). -#upnpav = 1 -# Enable OpenHome services (0/1). -#openhome = 1 -# Disable the OpenHome Credentials service. -#lumincompat = 0 -# Store metadata into the OpenHome "metatext" variable. -#ohinfotexttodata = 0 -# Check that input format is supported. -#checkcontentformat = 1 -# Path to the Renderer icon. -#iconpath = /usr/share/upmpdcli/icon.png -# Save the streaming services login parameters to disk. -#saveohcredentials = 1 -# Path to the openssl command -#opensslcmd = -# Directory used to store cached data -#cachedir = /var/cache/upmpdcli -# Path to the presentation HTML document -#presentationhtml = /usr/share/upmpdcli/presentation.html -# Advertise L16 format support -#enablel16 = true - -# MPD parameters - -# Host MPD runs on. -#mpdhost = localhost -# IP port used by MPD -#mpdport = 6600 -# MPD password. -#mpdpassword = -# MPD connection timeout in milliseconds. -#mpdtimeoutms = 2000 -# Set if we own the MPD queue. -#ownqueue = 1 - -# Audio control hooks - -# Command to run when playback is about to begin. -#onstart = -# Command to run when MPD state switches to "PLAY". -#onplay = -# Command to run when MPD state switches to "PAUSE". -#onpause = -# Command to run when MPD state switches to "STOP". -#onstop = -# Command to run when the setstandby action is called. -#onstandby = -# Use external command to manage the the sound volume (0/1). -#externalvolumecontrol = -# Command to run for reading the sound volume. -#getexternalvolume = -# Command to run to set the volume. -#onvolumechange = - -# UPnP/AV tweaking - -# Automatically fake a Play command when track is set. -#avtautoplay = 0 - -# OpenHome parameters - -# The name of the room where the Product is located. -#ohproductroom = Main Room -# Path to an external file with radio definitions. -#radiolist = /usr/share/upmpdcli/radio_scripts/radiolist.conf -# Radio metadata scripts directory. -#radioscripts = /usr/share/upmpdcli/radio_scripts -# Manufacturer name. -#ohmanufacturername = UpMPDCli heavy industries Co. -# Manufacturer information. -#ohmanufacturerinfo = Such nice guys and gals -# URL for manufacturer web site. -#ohmanufacturerurl = http://www.lesbonscomptes.com/upmpdcli -# Uri for manufacturer’s logo. -#ohmanufacturerimageuri = -# Model name. -#ohmodelname = UpMPDCli UPnP-MPD gateway -# Model information. -#ohmodelinfo = -# URL for model web site. -#ohmodelurl = http://www.lesbonscomptes.com/upmpdcli -# Uri for model’s icon. -#ohmodelimageuri = -# User-visible product name. By default this is set to ModelName. -#ohproductname = Upmpdcli -# Product information. -#ohproductinfo = -# URL for product web site. This may be the UPnP presentation page. -#ohproducturl = -# Uri for product image. -#ohproductimageuri = -# Save queue metadata to disk (0/1). -#ohmetapersist = 1 -# Mimimum interval (Seconds) between two cache saves. -#ohmetasleep = 0 - -# Media Server general parameters - -# Friendly name for the Media Server (if enabled). -#msfriendlyname = -# Media Server root alias Object ID. -#msrootalias = -# Hostname/IP address used in proxy URLs. -#plgmicrohttphost = -# IP port for the tidal/qobuz local HTTP service. -#plgmicrohttpport = 49149 -# Decide if we proxy (copy: fetch/serve), or redirect the streaming services streams. -#plgproxymethod = redirect -# Path to the Media Server icon. -#msiconpath = /usr/share/upmpdcli/icon.png - -# Highresaudio streaming service parameters - -# Hra user name. -#hrauser = your hra user name -# Hra password. -#hrapass = your Hra password -# Hra language setting (en/de). -#hralang = en - -# Qobuz streaming service parameters - -# Qobuz user name. -#qobuzuser = me@some.place -# Qobuz password. -#qobuzpass = agoodpassword -# Qobuz stream quality. -#qobuzformatid = 6 - -# Deezer streaming service parameters - -# Deezer user name. -#deezeruser = me@some.place -# Deezer password. -#deezerpass = agoodpassword - -# Radio Paradise -#radio-paradiseuser = radioparadise - -# Mother Earth Radio -#mother-earth-radiouser = motherearthradio - -# Local Media Server parameters - -# Bogus user name variable. -#uprcluser = bugsbunny -# Plugin Title. -uprcltitle = Local Music -# Uprcl HTTP server host and port for serving media files. -#uprclhostport = -# Uprcl HTTP server port for serving media files. -#uprclport = 9090 -# uprcl Recoll index directory -#uprclconfdir = /var/cache/upmpdcli/uprcl -# Name of the user Recoll config additions file -#uprclconfrecolluser = /var/cache/upmpdcli/uprcl/recoll.conf.user -# Name of the Minim Server configuration file -#uprclminimconfig = -# Media directories -#uprclmediadirs = -# Suppress folder "Tag View" entries. -#uprclnotagview=false -# Path translations. -#uprclpaths = - -# Upmpdcli Radios plugin parameters - -# Bogus user name variable. -#upradiosuser = bugsbunny -# Plugin Title. -upradiostitle = Upmpdcli Radio List -# Maximum number of threads to use while initializing the radio list -#upradiosmaxthreads = 5 - -# Radio Browser (https://www.radio-browser.info/) plugin parameters - -# Bogus user name variable. -#upradiosuser = bugsbunny - -# Upmpdcli BBC Sounds plugin parameters - -# Bogus user name variable. -#bbcuser = bugsbunny -# Past days in BBC Sounds catalog listing. -#bbcprogrammedays = 30 - -# Songcast Receiver parameters - -#Parameters for the Songcast modes. These are read by either/both the -#songcast and upmpdcli processes -# Log file name for sc2mpd (default stderr) -#sclogfilename = -# Log verbosity for sc2mpd. -#scloglevel = 3 -# sc2mpd play method (mpd/alsa). -#scplaymethod = mpd -# Port used by sc2mpd for MPD to connect to. -#schttpport = 8768 -# Alsa device used by sc2mpd for playing audio. -#scalsadevice = default -# sc2mpd resampling method. -#sccvttype = SRC_SINC_FASTEST -# Scale songcast stream based on mpd volume value -#scusempdvolume = 0 -# Path to sc2mpd. -#sc2mpd = -# Path to a screceiver state file. -#screceiverstatefile = - -# Songcast Sender parameters - -#Parameters tor the Sender/Receiver mode. Only does anything if -#scplaymethod is alsa -# !!Standard Songcast receivers only support PCM!! Codec to use for the network stream. -#scstreamcodec = -# Path to starter script -#scsenderpath = -# Scale the Songcast stream. -#scstreamscaled = 1 -# localhost port to be used by the auxiliary mpd. -#scsendermpdport = 6700 -# External sources script directory. -#scripts_dir = /usr/share/upmpdcli/src_scripts -# Grace period to wait for a script process to exit before it is forcely killed. -#scscriptgracesecs = 2 diff --git a/app/conf/upmpdcli-reference.conf b/app/conf/upmpdcli-reference.conf deleted file mode 100644 index 8f2b59b..0000000 --- a/app/conf/upmpdcli-reference.conf +++ /dev/null @@ -1,267 +0,0 @@ -#The XML tags in the comments are used to help produce the documentation -#from the sample/reference file, and not at all at run time, where -#comments are just comments. Edit at will. -#The command line options have higher priorities than the values in -#this file. - -# Upmpdcli configuration - - -# Upmpdcli general parameters - -# Log file name. -#logfilename = -# Log level. -#loglevel = 2 -# Log file name for the low level UPnP lib (libnpupnp). -#upnplogfilename= -# Log level for the low level UPnP lib. -#upnploglevel = 2 -# XML and other constant data storage directory. -#pkgdatadir=/usr/share/upmpdcli -# Name of the lock file used to store the current process pid. -#pidfile = /var/run/upmpdcli.pid - -# UPnP network parameters - -# Network interface(s) to use for UPnP. -#upnpiface = UPNPIFACE -# IP V4 address to use for UPnP, alternative to using an interface name. -#upnpip = -# Port number used for UPnP. -#upnpport = UPNPPORT -# Enable use of IPV6. -#useipv6 = false - -# Media Renderer parameters - -# "Friendly Name" for the Media Renderer. -#friendlyname = UPMPD_FRIENDLY_NAME -# Specific friendly name for the UPnP/AV Media Renderer. -#avfriendlyname = -# Enable UPnP AV services (0/1). -#upnpav = UPNPAV -# Enable OpenHome services (0/1). -#openhome = OPENHOME -# Disable the OpenHome Credentials service. -#lumincompat = 0 -# Store metadata into the OpenHome "metatext" variable. -#ohinfotexttodata = 0 -# Check that input format is supported. -#checkcontentformat = 1 -# Path to the Renderer icon. -#iconpath = /usr/share/upmpdcli/icon.png -# Save the streaming services login parameters to disk. -#saveohcredentials = 1 -# Path to the openssl command -#opensslcmd = -# Directory used to store cached data -#cachedir = /var/cache/upmpdcli -# Path to the presentation HTML document -#presentationhtml = /usr/share/upmpdcli/presentation.html -# Advertise L16 format support -#enablel16 = true - -# MPD parameters - -# Host MPD runs on. -#mpdhost = MPD_HOST -# IP port used by MPD -#mpdport = MPD_PORT -# MPD password. -#mpdpassword = -# MPD connection timeout in milliseconds. -#mpdtimeoutms = 2000 -# Set if we own the MPD queue. -#ownqueue = 1 - -# Audio control hooks - -# Command to run when playback is about to begin. -#onstart = -# Command to run when MPD state switches to "PLAY". -#onplay = -# Command to run when MPD state switches to "PAUSE". -#onpause = -# Command to run when MPD state switches to "STOP". -#onstop = -# Command to run when the setstandby action is called. -#onstandby = -# Use external command to manage the the sound volume (0/1). -#externalvolumecontrol = -# Command to run for reading the sound volume. -#getexternalvolume = -# Command to run to set the volume. -#onvolumechange = - -# UPnP/AV tweaking - -# Automatically fake a Play command when track is set. -#avtautoplay = 0 - -# OpenHome parameters - -# The name of the room where the Product is located. -#ohproductroom = Main Room -# Path to an external file with radio definitions. -#radiolist = /usr/share/upmpdcli/radio_scripts/radiolist.conf -# Radio metadata scripts directory. -#radioscripts = /usr/share/upmpdcli/radio_scripts -# Manufacturer name. -#ohmanufacturername = UpMPDCli heavy industries Co. -# Manufacturer information. -#ohmanufacturerinfo = Such nice guys and gals -# URL for manufacturer web site. -#ohmanufacturerurl = http://www.lesbonscomptes.com/upmpdcli -# Uri for manufacturer’s logo. -#ohmanufacturerimageuri = -# Model name. -#ohmodelname = UpMPDCli UPnP-MPD gateway -# Model information. -#ohmodelinfo = -# URL for model web site. -#ohmodelurl = http://www.lesbonscomptes.com/upmpdcli -# Uri for model’s icon. -#ohmodelimageuri = -# User-visible product name. By default this is set to ModelName. -#ohproductname = Upmpdcli -# Product information. -#ohproductinfo = -# URL for product web site. This may be the UPnP presentation page. -#ohproducturl = -# Uri for product image. -#ohproductimageuri = -# Save queue metadata to disk (0/1). -#ohmetapersist = 1 -# Mimimum interval (Seconds) between two cache saves. -#ohmetasleep = 0 - -# Media Server general parameters - -# Friendly name for the Media Server (if enabled). -#msfriendlyname = -# Media Server root alias Object ID. -#msrootalias = -# Hostname/IP address used in proxy URLs. -#plgmicrohttphost = PLG_MICRO_HTTP_HOST -# IP port for the tidal/qobuz local HTTP service. -#plgmicrohttpport = PLG_MICRO_HTTP_PORT -# Decide if we proxy (copy: fetch/serve), or redirect the streaming services streams. -#plgproxymethod = redirect -# Path to the Media Server icon. -#msiconpath = /usr/share/upmpdcli/icon.png - -# Highresaudio streaming service parameters - -# Hra user name. -#hrauser = your hra user name -# Hra password. -#hrapass = your Hra password -# Hra language setting (en/de). -#hralang = en - -# Qobuz streaming service parameters - -# Qobuz user name. -#qobuzuser = QOBUZ_USERNAME -# Qobuz password. -#qobuzpass = QOBUZ_PASSWORD -# Qobuz stream quality. -#qobuzformatid = QOBUZ_FORMAT_ID - -# Deezer streaming service parameters - -# Deezer user name. -#deezeruser = me@some.place -# Deezer password. -#deezerpass = agoodpassword - -# Radio Paradise -#radio-paradiseuser = radioparadise - -# Mother Earth Radio -#mother-earth-radiouser = motherearthradio - -# Local Media Server parameters - -# Bogus user name variable. -#uprcluser = UPRCL_USER -# Plugin Title. -uprcltitle = UPRCL_TITLE -# Uprcl HTTP server host and port for serving media files. -#uprclhostport = UPRCL_HOSTPORT -# Uprcl HTTP server port for serving media files. -#uprclport = 9090 -# uprcl Recoll index directory -#uprclconfdir = /uprcl/confdir -# Name of the user Recoll config additions file -#uprclconfrecolluser = /var/cache/upmpdcli/uprcl/recoll.conf.user -# Name of the Minim Server configuration file -#uprclminimconfig = -# Media directories -#uprclmediadirs = /uprcl/mediadirs -# Suppress folder "Tag View" entries. -#uprclnotagview=false -# Path translations. -#uprclpaths = - -# Upmpdcli Radios plugin parameters - -# Bogus user name variable. -#upradiosuser = bugsbunny -# Plugin Title. -upradiostitle = Upmpdcli Radio List -# Maximum number of threads to use while initializing the radio list -#upradiosmaxthreads = 5 - -# Radio Browser (https://www.radio-browser.info/) plugin parameters - -# Bogus user name variable. -#upradiosuser = bugsbunny - -# Upmpdcli BBC Sounds plugin parameters - -# Bogus user name variable. -#bbcuser = bugsbunny -# Past days in BBC Sounds catalog listing. -#bbcprogrammedays = 30 - -# Songcast Receiver parameters - -#Parameters for the Songcast modes. These are read by either/both the -#songcast and upmpdcli processes -# Log file name for sc2mpd (default stderr) -#sclogfilename = -# Log verbosity for sc2mpd. -#scloglevel = 3 -# sc2mpd play method (mpd/alsa). -#scplaymethod = mpd -# Port used by sc2mpd for MPD to connect to. -#schttpport = 8768 -# Alsa device used by sc2mpd for playing audio. -#scalsadevice = default -# sc2mpd resampling method. -#sccvttype = SRC_SINC_FASTEST -# Scale songcast stream based on mpd volume value -#scusempdvolume = 0 -# Path to sc2mpd. -#sc2mpd = -# Path to a screceiver state file. -#screceiverstatefile = - -# Songcast Sender parameters - -#Parameters tor the Sender/Receiver mode. Only does anything if -#scplaymethod is alsa -# !!Standard Songcast receivers only support PCM!! Codec to use for the network stream. -#scstreamcodec = -# Path to starter script -#scsenderpath = -# Scale the Songcast stream. -#scstreamscaled = 1 -# localhost port to be used by the auxiliary mpd. -#scsendermpdport = 6700 -# External sources script directory. -#scripts_dir = /usr/share/upmpdcli/src_scripts -# Grace period to wait for a script process to exit before it is forcely killed. -#scscriptgracesecs = 2 diff --git a/app/conf/upmpdcli.conf b/app/conf/upmpdcli.conf index e094689..c650ae5 100644 --- a/app/conf/upmpdcli.conf +++ b/app/conf/upmpdcli.conf @@ -98,12 +98,15 @@ upradiostitle = Upmpdcli Radio List #subsonicautostart = SUBSONIC_AUTOSTART #subsonicuser = SUBSONIC_USER #subsonicpassword = SUBSONIC_PASSWORD +#subsoniclegacyauth = SUBSONIC_LEGACYAUTH #subsonicbaseurl = SUBSONIC_BASE_URL #subsonicport = SUBSONIC_PORT #subsonicitemsperpage = SUBSONIC_ITEMS_PER_PAGE #subsonicappendyeartoalbum = SUBSONIC_APPEND_YEAR_TO_ALBUM #subsonicappendcodecstoalbum = SUBSONIC_APPEND_CODECS_TO_ALBUM #subsonicwhitelistcodecs = SUBSONIC_WHITELIST_CODECS +#subsonictranscodecodec = SUBSONIC_TRANSCODE_CODEC +#subsonictranscodemaxbitrate = SUBSONIC_TRANSCODE_MAX_BITRATE #tidaluser = tidal #tidalautostart = TIDAL_AUTOSTART #tidaltokentype = TIDAL_TOKEN_TYPE diff --git a/app/install/setup.sh b/app/install/setup.sh index f31e312..73edfd1 100644 --- a/app/install/setup.sh +++ b/app/install/setup.sh @@ -10,11 +10,15 @@ echo "IMAGE_VERSION=[$IMAGE_VERSION]" if [ "$BUILD_MODE" = "full" ]; then declare -A needs_switch needs_switch[bookworm-slim]=1 - needs_switch[lunar]=1 needs_switch[mantic]=1 add_switch=0 if [[ -v needs_switch[$IMAGE_VERSION] ]]; then add_switch=${needs_switch[$IMAGE_VERSION]} + if [ $add_switch -eq 1 ]; then + echo "yes" > /app/conf/pip-install-break-needed + else + echo "no" > /app/conf/pip-install-break-needed + fi fi pip_upgrade="pip install --no-cache-dir --upgrade pip" if [ $add_switch -eq 1 ]; then diff --git a/doc/change-history.md b/doc/change-history.md index 5c9bb08..ed89bb9 100644 --- a/doc/change-history.md +++ b/doc/change-history.md @@ -2,6 +2,7 @@ Change Date|Major Changes ---|--- +2023-11-15|Support different subsonic-connect versions (see issue [#318](https://github.com/GioF71/upmpdcli-docker/issues/318)) 2023-11-14|Switch from `lunar` to `mantic` (see issue [#316](https://github.com/GioF71/upmpdcli-docker/issues/316)) 2023-11-13|Add tidal package to installation list (see issue [#313](https://github.com/GioF71/upmpdcli-docker/issues/313)) 2023-11-04|Add installation of new packages (see issue [#309](https://github.com/GioF71/upmpdcli-docker/issues/309)) diff --git a/doc/example-configurations.md b/doc/example-configurations.md index 979105d..ef72e82 100644 --- a/doc/example-configurations.md +++ b/doc/example-configurations.md @@ -156,7 +156,8 @@ services: - SUBSONIC_USER=${SUBSONIC_USER} - SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD} - SUBSONIC_DOWNLOAD_PLUGIN=yes - - SUBSONIC_PLUGIN_BRANCH=latest-subsonic + - SUBSONIC_PLUGIN_BRANCH=next-subsonic + - SUBSONIC_FORCE_CONNECTOR_VERSION=0.2.6 volumes: - ./cache:/cache restart: unless-stopped