Simple command line UPnP music server for Linux that allows a flexible structuring of your music in content hierarchies. Supported music file types include MP3, FLAC, Ogg Vorbis, Opus, AAC, Alac and MP4/M4a. In addition muserve can read M3U playlists in simple and extended format.
muserv contains checks that can be executed to detect potential inconsistencies in the music database.
For Arch Linux (and other Linux distros that can install packages from the Arch User Repository) there’s a muserv package in AUR.
muserv is written in Golang and thus requires the installation of Go. Make sure that you’ve set the environment variable GOPATH
accordingly, and make also sure that git is installed.
To download muserv and all dependencies, open a terminal and enter
$ go get gitlab.com/mipimipi/muserv
After that, build muserv by executing
$ cd $GOPATH/src/gitlab.com/mipimipi/muserv $ make
Finally, execute
$ make install
as root
to copy the muserv binary to /usr/bin
.
muserv requires the system user muserv
. To create it with systemd, just execute
$ cp $GOPATH/src/gitlab.com/mipimipi/muserv/cfg/sysusers.conf /usr/lib/sysusers.d/muserv.conf $ systemd-sysusers
as root
. Without systemd, create the user with the corresponding command of your distribution. The user does neither require a home directory nor a shell.
Make sure that the muserv system user has read access to your music directory.
Create a cache and a log directory for muserv (per default, that’s /var/cache/muserv
and /var/log/muserv
):
$ mkdir /var/cache/muserv $ mkdir /var/log/muserv
Make sure that the muserv system user has write access to both directories.
Copy the default configuration by executing
$ cp /etc/muserv/config-default.json /etc/muserv/config.json
as root
.
The only required change is to set the music directory/ies. Therefore, edit /etc/muserv/config.json
as root
and set the absolute paths of your music directories in music_dirs
. Here you find a more detailed description of the configuration options.
Execute
$ muserv test
to check if the muserv configuration is complete and consistent.
muserv comes with a systemd service. Start it by executing
$ systemctl start muserv.service
as root
. If you did not install muserv via package manager, you have to copy the service file prior to that by executing
$ cp $GOPATH/src/gitlab.com/mipimipi/muserv/systemd/muserv.service /etc/systemd/system/muserv.service
as root
.
Now, you can see the muserv status by entering the URL <IP-address-of-your-server:8008> in a browser.
Have fun with muserv :)