Sign inSign up

jojo141185/upmpdcli

By jojo141185

Updated over 3 years ago

UPnP Audio Media Renderer based on MPD

Image
0

1.0K

jojo141185/upmpdcli repository overview

upmpdcli-docker: A Docker image for upmpdcli

An UPnP Audio Media Renderer based on MPD

Reference

This repo is forked from GioF71 and modified for my needs.

Source: GitHub
Docker-Images: DockerHub

Why

I prepared this Dockerfile because I wanted to be able to install upmpdcli easily on multiple machines with different architectures (amd64, arm).

Prerequisites

You need to have Docker up and running on a Linux machine, and the current user must be allowed to run containers (this usually means that the current user belongs to the "docker" group).

You can verify whether your user belongs to the "docker" group with the following command: getent group | grep docker This command will output one line if the current user does belong to the "docker" group, otherwise there will be no output.

You will also need a running instance mpd server (Music Player Daemon) on your network.

Consider using my Mopidy-MPD docker image:

Source: GitHub
Docker-Images: DockerHub

Or alternatively, the much smaller mpd-alsa / mpd-pulseaudio docker image:

Source: GitHub
Docker-Images: DockerHub

Get the image

Here is the repository on DockerHub.

Getting the image from DockerHub is as simple as typing:

docker pull jojo141185/upmpdcli:stable

You may want to pull the "stable" image as opposed to the "latest".

Usage

Say your mpd host is "mpd.local", you can start upmpdcli by typing

docker run -d --rm --net host -e MPD_HOST:mpd.local jojo141185/upmpdcli:stable

Note that ee need to use the host network so the upnp renderer can be discovered on your network.

In this line we define the MPD_HOST environment variable to connect upmpdcli to a running mpd instance on address mpd.local.

The following table reports the currently supported environment variables / services.

VARIABLEDEFAULTNOTES
MPD_HOSTlocalhostThe host where mpd runs
MPD_PORT6600The port used by mpd
MPD_PWDPasswort for mpd connection (if needed)
UPMPD_FRIENDLY_NAMEupmpdName of the upnpd renderer
UPNPAV_ENABLE0Enable UPnP AV services (0=deactivated, 1=activated)
AV_FRIENDLY_NAMEupmpd-avName of the upnpd renderer (av-service mode)
OPENHOME_ENABLE1Enable OpenHome services (0=deactivated, 1=activated)
STARTUP_DELAY_SEC0Delay before starting the application. This can be useful if your container is set up to start automatically.
---------
DEEZER_ENABLEfalseSet to yes to enable Deezer support
DEEZER_USERNAMEYour Deezer account username
DEEZER_PASSWORDYour Deezer account password
---------
SPOTIFY_ENABLEfalseSet to yes to enable Spotify support
SPOTIFY_USERNAMEYour Spotify account username
SPOTIFY_PASSWORDYour Spotify account password
SPOTIFY_BITRATE16096, 160 or 320
---------
QOBUZ_ENABLEfalseSet to yes to enable Qobuz support
QOBUZ_USERNAMEYour Qobuz account username
QOBUZ_PASSWORDYour Qobuz account password
QOBUZ_FORMAT_ID5Qobuz format id: 5 for mp3, 7 for FLAC, 27 for hi-res
---------
HRA_ENABLEfalseSet to yes to enable HRA support
HRA_USERNAMEYour HRA account username
HRA_PASSWORDYour HRA account password
HRA_LANGenlanguage setting (en/de)
---------
TIDAL_ENABLEfalseSet to yes to enable Tidal support
TIDAL_USERNAMEYour Tidal account username
TIDAL_PASSWORDYour Tidal account password
TIDAL_API_TOKENYour Tidal account API token
TIDAL_QUALITYlowTidal quality: low, high, lossless

Note: Values with spaces are only allowed in friendly name patterns.

Build

You can build (or rebuild) the image by opening a terminal from the root of the repository and issuing the following command:

docker build . -t jojo141185/upmpdcli

It will take very little time even on a Raspberry Pi. When it's finished, you can run the container following the previous instructions.
Just be careful to use the tag you have built.

Tag summary

Content type

Image

Digest

sha256:03131e1fe

Size

167.8 MB

Last updated

almost 4 years ago

docker pull jojo141185/upmpdcli