LMS-Community / slimserver-platforms

Platform-specific build tools for Lyrion Music Server
48 stars 41 forks source link

Players lost after container restart #31

Closed mvl64 closed 2 years ago

mvl64 commented 2 years ago

I'm running LMS in a docker container on a synology NAS. There are a couple of players (BOOM) connected to LMS, and all is working well - until I restart the container:

After the restart, no players are known on LMS (when using the web UI). When I start the players they have to go through initial setup - long press ON to restart the player which will then go through setup (getting IP address, searching for the server, etc).

Is this expected behavior, or does this point to a configuration error ? If the latter, is there a recommended way to prevent losing the "connected players"?

mherger commented 2 years ago

Did you correctly configure the ports, in particular 3483 tcp AND udp? The players are using these to discover LMS.

mvl64 commented 2 years ago

Hi, sorry for the delay - I lost the thread to this issue.

Yes, the port is open on TCP and UDP. See below screenshot for your reference.

Note: The players can find the server fine until the container is restarted - after that they have to go through "initial network setup" again, so getting ip addres, ... and finally discovering the server. The discovery goes without problems, it's just that a discovery and setup is required; whereas it is not while the container keeps running (I have it up for weeks without any issue).

image

mvl64 commented 2 years ago

It seems the player information on the server is lost upon restarting the container. Before restart can see two players connected - both in the server settings/information tab and in the player selection on the main screen:

image

After I restart the container, both items are empty: image

Where is the player information stored on the server ? I was expecting somewhere in the /config tree, which is stored in a host volume, but that does not seem the case.

michaelherger commented 2 years ago

The player would only show up if they were connected to the server. Can you connect them (using the player's UI)?

mvl64 commented 2 years ago

Yes, I can - that's my point: why do they disappear after the container has been restarted ?

mherger commented 2 years ago

You shouldn't have to hard reboot the players. That's definitely not expected behaviour. Usually using the remote or the controls on the device itself should make it re-connect, or try to re-connect at least. Does that really not work? What happens when you want to navigate the menus in that disconnected state?

mvl64 commented 2 years ago

After I restart the container, the player stops responding to the power button (so I just reset the player). I never tried the other controls, but because of your question I tried to turn the knob; and this brought up new behaviour: the player reports "server disconnected", and suggests to press the back button to re-connect. When I do, the player still remembers the server IP and allows me to quickly reconnect. So, no hard reset is required, you're right :).

This reduces the significance of the problem quite a bit - this is not a big deal. It would be interesting to find a way for this to not happen though - before I ran LMS in a container I had it running as a native app on my Synology NAS, which I rebooted occasionally too, but the server didn't lose the player details then - so it seems this information is stored in a file on the server somewhere. Do you know where this would be ?

(I'd like to try adding another volume to persistently store the player details on the server.)

michaelherger commented 2 years ago

Why don't you ask on forums.slimdevices.com? There are many more Docker users (I'm none of them) who might have dealt with this before.