Logitech Media Server LMS

Hello,

Perhaps the simplest of questions: is Logitech Media Server available to be installed on LEDE?

Not squeezelite please. I'm asking about the server; Logitech Media Server LMS.

Thanks

If you mean this server, than no i cant find it in anywhere in packages.

yes, that's what I'm looking for. it's EVERYWHERE but here. Too bad.

what about a lxc or chroot container inside OpenWRT with a debian buster ?
It is how I use it...

thanks @erdoukki would you please, please, elaborate. I have no clue where to start. And I've done some research, and I'm left needing how to as it pertains to OpenWRT. Perhaps you can turn it into a guide, as LMS is very popular but not available, in the usual way, here.

Here is a small guide for the chroot method on OpenWRT.

I am using lxc to create the chroot but if lxc is supported, the best case is to use lxc container instead of chroot.
It is a quick and dirty tips to help making pseudo container when your OpenWRT device DO NOT support LXC !

  1. make a new container for a DEBIAN ARM64
    root@LESERVEUR:~# lxc-create --name myLMS --template download
    ...
    Distribution:
    debian
    Release:
    buster
    Architecture:
    arm64 (replace with your own CPU platform !!!)
    ...

  2. make a script for the services chrooted startup
    nano /root/start-chroot-LMS.sh
    ---8<---

#!/bin/bash
export TARGET=/srv/lxc/myLMS/rootfs/
mount -t proc chproc $TARGET'proc'
mount -t sysfs chsys $TARGET'sys'
mount -t devpts chpts $TARGET'dev/pts'
mount -t devtmpfs chdev $TARGET'dev' || mount --bind /dev $TARGET'dev'

##chroot $TARGET /etc/init.d/logitechmediaserver restart
##chroot $TARGET service logitechmediaserver restart
##chroot $TARGET /usr/bin/squeezelite -o default:CARD=Set -s 127.0.0.1 -z

exit 0

---8<---

chmod a+x /root/start-chroot-LMS.sh

  1. Add the script to startup automaticcaly while you start OpenWRT
    nano /etc/rc.local

  2. start your chroot of debian
    root@LESERVEUR:~# export TARGET=/srv/lxc/myLMS/rootfs/
    root@LESERVEUR:~# mount -t proc chproc $TARGET'proc'
    root@LESERVEUR:~# mount -t sysfs chsys $TARGET'sys'
    root@LESERVEUR:~# mount -t devpts chpts $TARGET'dev/pts'
    root@LESERVEUR:~# mount -t devtmpfs chdev $TARGET'dev' || mount --bind /dev $TARGET'dev'
    root@LESERVEUR:~# chroot $TARGET /bin/bash

  3. Inside your chrooted Debian
    root@LESERVEUR:/# cat /etc/issue
    Debian GNU/Linux 9 \n \l

now you can apt or dpkg install LMS server

exit to return to your OpenWRT shell

ADVICE : a better solution is to use fully fonctionnal LXC container...
With the services of LXC for OpenWRT, you may get support of network and isolated debian systems !

Look at my post about LXC, for advice, if needed ; Request for LXC support in MVEBU

We have docker-ce in master, so maybe that's even easier?
If you are lucky and have a x64/arm/arm64 based router, than you can even use many of the prebuild docker images on docker-hub. For mips/mips64 or others i assume you need to build your own docker image.

Are you sure it is available for all platforms ?
I do not get it from my ARM64 EspressoBin OpenWRT 19.07.02

As noted, its in master not 19.07.x

Did not find "LMS" there. Is it under something else?

Was talking about docker-ce, not LMS. You can try run docker-ce and than grab a LMS docker image to run, but its not trivial if you never worked with docker.

Thanks a lot. Is it possible the people who write packages and put stuff in master do not know about LMS. Do you know how to get the word to them about this very common and free server?

Maybe, never came across LMS before myself. I think most use some other form of music streaming/server/client setup, like UPNP/DLNA/Bluetooth/Sonos.... or just share there collection via vpn + sft/smb/nfs/webdav and use a client that can access the files directly over network/internet.

We have a few UPNP/media server packages, that are more geared towards lower spec router hardware, maybe check those out:
gerbera
minidlna
xupnpd
Music Player Daemon
forked-daapd

Do you know how to get the word to them about this very common and free server?

Not really, while the docker image has decent 1m+ downloads and the LMS ecosystem seems well and alive, it seems not really popular to run on router hardware.
I guess the main reason "was" that you needed to setup a extroot, since the final LMS package will be quite big, see this old discussion.
The current 7.9 Netgear NAS arm package is 23 MB, while this is quite big it would fit on 32+MB devices, without a extroot.

PS: Ultimately you need someone that wants to actually run LMS on there openwrt router and is willing to create/test/maintain the package. Usually such big packages are passion projects of individuals, that just don't take "no" for an answer.

I personally would just try to get it running through docked-ce, but since docker in openwrt is also rather new this will be a bumpy journey.

Thanks for your continuing support on this thread.

With 1M plus on docker, perhaps I will look into it. But do you know of a Howto here for using that?

As far as exroot, I passed that challenge already. If I had the skills, I too will not take 'no' for an answer on this. As you rightly pointed out, LMS has been around for a while and has a huge, huge base. I truly hope someone with the skills reads this and takes on the challenge. I'm sure it will be worth the effort.

I need now to read up on docked-ce on Openwrt, if you have help there too, I thank you in advance.

I am interested in the topic too. I have been running LMS on a Pogoplug Pro with Debian 9 (stretch) for about 2 years. Pogoplug Pro has only 128MB RAM, which is barely enough to start LMS and requires a swap partition (on a separate USB stick) to get it going. The swap partition gets filled up over time so I restart the system every week or two to ensre I don't run out of the swap memory. I have a Linksys EA7500 available, which has 256MB RAM, and think it might ease up the use of the swap partition if I can run LMS on the EA7500.

Sadly, one year later nothing has come off it. If you bump into a solution, please come back here.

If opkg can handle debian deb packages, there may be a solution. I long have the impression that opkg can't. However when I checked into opkg's package description, interestingly it had these words "opkg knows how to install both .ipk and .deb packages".

@rwl408 you've made me half-happy! I can only hope that the results you discovered is the start to great things; to have LMS on openwrt. Oh! what a great day that would be. Oh what a hero it will make of you. Oh! how many of us will crowd at your feet with thank you, thank YOU, THANK YOU! We wait, meanwhile, in hope.

@rwl408 I just looked at the number of people who have 'viewed' this thread, the highest in all current threads, and by a great stretch. I think that should send a message to developers. I hope you're one of them, as I don't even know how to do what you've discovered.

afaik even if it can it's pointless, OpenWrt uses musl instead than glibc (different core C library) so Debian packages alone will not work even if compiled for the right arch. You either get a fully static-compiled binary or you follow all the stuff and make a OpenWrt package that can be compiled with OpenWrt's build system.

The simpler solution is to just make a Debian chroot. OpenWrt has debootstrap package for this reason. You need a USB drive to store some 150-200MB of minimal Debian OS (so the packages will use their own core libraries and stuff from Debian) and you can do that. It's much simpler than Docker and all that