navidrome / website

Navidrome's documentation website
https://www.navidrome.org
Apache License 2.0
18 stars 92 forks source link

How to transform a Raspberry Pi into a Jukebox using Navidrome in a Docker container? #143

Open marius-hi opened 7 months ago

marius-hi commented 7 months ago

I'm running deluan/navidrome:latest in a docker container under a Raspberry Pi host. I enabled jukebox by following the explanation from the page https://www.navidrome.org/docs/usage/jukebox , however it still plays on the client device instead of playing on Rapsberry PI.

In the log I can see:

time="2023-11-30T22:56:32Z" level=info msg="Starting playback server"
time="2023-11-30T22:56:32Z" level=info msg="2 audio devices found"
time="2023-11-30T22:56:32Z" level=info msg="Using audio device: alsa/default:CARD=PianoDACPlus"

Mpv is installed in the docker container and returns correctly the list of audio devices. mpv --audio-device=help:

List of detected audio devices:
  'auto' (Autoselect device)
  'alsa' (Default (alsa))
  'alsa/default:CARD=ALSA' (bcm2835 ALSA, bcm2835 ALSA/Default Audio Device)
  'alsa/sysdefault:CARD=ALSA' (bcm2835 ALSA, bcm2835 ALSA/Default Audio Device)
  'alsa/default:CARD=PianoDACPlus' (PianoDACPlus, PianoDACPlus multicodec-0/Default Audio Device)
  'alsa/sysdefault:CARD=PianoDACPlus' (PianoDACPlus, PianoDACPlus multicodec-0/Default Audio Device)
  'jack' (Default (jack))
  'sndio' (Default (sndio))

The following are also present in the docker-componse configuration:

group_add:
  - "29" # audio group ID (gid)
devices:
  - "/dev/snd:/dev/snd"

What could be the cause? How can I further debug it?

apkatsikas commented 6 months ago

hi @marius-hi - you need to make sure the Subsonic client you are using supports Jukebox mode and you are using it correctly. simply playing the song from a subsonic client while the server is enabled for jukebox mode does not necessitate jukebox playback, and afaik - the navidrome web UI player does not have this feature available. i'm not actually sure which Subsonic clients do support this feature, but it might be helpful if that was documented somewhere if anyone knows