Skip to content

Update Spotify and GStreamer in docker image #973

@alanmilinovic

Description

@alanmilinovic

Iris version

3.69.3

Operating system(s) affected

  • Windows
  • MacOS
  • iOS
  • Android
  • Linux
  • Other

Browser(s) affected

  • Firefox
  • Chrome
  • Edge
  • Other

What happened?

Spotify is not playing songs because of outdated Spotify plugin and outdated GStreamer.

Can you please update docker image with Mopidy-Spotify v5.0.0a3 and gst-plugin-spotify_0.14.0~alpha.1-1 versions.
That will make username and password for Spotify obsolete and will be able to play songs.

More info here:
mopidy/mopidy-spotify#388

I tried to make it work by playing with Dockerfile and it is working if docker is running as root, but then I have some strange stuttering when songs are playing, not just from spotify also local songs.

This is what I have right now in my Dockerfile:

USER root
RUN sudo wget https://github.com/kingosticks/gst-plugins-rs-build/releases/download/gst-plugin-spotify_0.14.0-alpha.1-1/gst-plugin-spotify_0.14.0.alpha.1-1_amd64.deb -O /tmp/package.deb
RUN sudo apt install /tmp/package.deb
RUN sudo rm -f /tmp/package.deb

USER mopidy # when I remove this line, it is working but with audio stuttering
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --break-system-packages Mopidy-Spotify==5.0.0a3

This is the error when tried to play song:

ERROR    2024-10-22 12:08:46,160 [7:MainThread] mopidy.audio.gst
  GStreamer error: Resource not found.

This is my docker-compose.yml

version: "3"
services:
  snapserver:
    image: jaedb/snapserver
    network_mode: host
    depends_on:
      mopidy:
        condition: service_healthy
    #ports:
      #- 1704
      #- 1705
      #- 1780
    volumes:
      - /tmp/snapserver:/tmp
      - ./docker/snapserver/snapserver.conf:/etc/snapserver.conf
      - ./docker/snapserver/snapserver.json:/root/.config/snapserver/server.json
    restart: unless-stopped

  mopidy:
    environment:
      - PIP_PACKAGES=Mopidy-YouTube Mopidy-YTMusic Mopidy-Spotify Mopidy-SoundCloud Mopidy-MusicBox-Webclient Mopidy-TuneIn Mopidy-Scrobbler
    build:
      context: .
    ports:
      - 6600:6600
      - 6680:6680
    healthcheck:
      test: curl -f http://localhost:6680/iris/http/get_config || exit 1
      timeout: 5s
      retries: 5
    volumes:
      # - ./mopidy/iris:/iris/mopidy/iris # To use a locally-built UI 
      - ./docker/mopidy/iris:/var/lib/mopidy/iris # Iris-specific storage
      - ./docker/mopidy/m3u:/var/lib/mopidy/m3u # To persist local playlists
      - ./docker/mopidy/local:/var/lib/mopidy/local # To persist database and covers
      - ./docker/mopidy/mopidy.conf:/config/mopidy.conf
      - ./docker/mopidy/auth.json:/var/lib/mopidy/auth.json # To persist ytmusic authentication
      - /home/amilino/Music:/var/lib/mopidy/media
      - /tmp/snapserver:/tmp
    restart: unless-stopped

I start container with:

docker-compose down &&
docker-compose build --pull &&
docker-compose up -d &&

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions