Skip to content

Latest commit

 

History

History

spotify-x11

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Status Pulls Dockerfile Size Version

Spotify is a digital music service that gives you access to millions of songs.

Features

  • OpenGL acceleration (Mesa DRI/GLX and nvidia †)
  • Audio via PulseAudio

† nvidia driver note

libnvidia-gl-525 is provided in the image, being the current supported version in the latest Ubuntu LTS release. The host driver version will be checked every time the container is started and if there is a version mismatch, an attempt to install the correct driver in the container will be made unless:

  1. Any of the following directories are present: /usr/local/nvidia/lib, /usr/local/nvidia/lib64 or /nvidia. It is assumed that the correct libraries are mounted from the host. Directories will be added to /etc/ld.so.conf.d/nvidia.conf.
  2. The environment variable NVIDIA_SKIP_DOWNLOAD=1 has been set.
  3. The installed driver matches the host /proc/driver/nvidia/version.

The first option is the preferred way to add nvidia drivers to the container. See here for an example on generating the required files on the host. It may also be possible to achieve this using nvidia-docker.

Usage

docker

# detect gpu devices to pass through
GPU_DEVICES=$( \
    echo "$( \
        find /dev -maxdepth 1 -regextype posix-extended -iregex '.+/nvidia([0-9]|ctl)' \
            | grep --color=never '.' \
          || echo '/dev/dri'\
      )" \
      | sed -E "s/^/--device /" \
  )

# create the container
docker create \
  --name spotify \
  --net host \
  --device /dev/snd \
  $GPU_DEVICES \
  -v $HOME/.config/spotify:/config \
  -v $HOME/.cache/spotify:/cache \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -e DISPLAY=unix$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
  -v /etc/machine-id:/etc/machine-id:ro \
  -v $HOME/.config/pulse:/home/ubuntu/.config/pulse:ro \
  -v /run/user/$(id -u)/pulse:/run/user/$(id -u)/pulse:ro \
  -v $XDG_RUNTIME_DIR/bus:$XDG_RUNTIME_DIR/bus:ro \
  -v /var/lib/dbus/machine-id:/var/lib/dbus/machine-id:ro \
  -v /run/dbus:/run/dbus:ro \
  -v /etc/localtime:/etc/localtime:ro \
  andrewmackrodt/spotify-x11

Parameters

Parameter Function
-e PUID=1000 The user id, recommended: $(id -u)
-e PGID=1000 The group id, recommended: $(id -g)
-e SUDO_NOPASSWD=0 Set to 1 to allow passwordless sudo
-e TZ=UTC The timezone, e.g. "Europe/London"
-v /config Spotify config
-v /cache Spotify cache