Skip to content

mipimipi/muserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

muserv

muserv muserv

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.

Installation

Installation with Package Managers

For Arch Linux (and other Linux distros that can install packages from the Arch User Repository) there’s a muserv package in AUR.

Manual Installation

Build muserv

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.

Create the muserv system user

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 directories

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 configuration files

To copy the muserv configuration files, execute

$ mkdir /etc/muserv
$ cd $GOPATH/src/gitlab.com/mipimipi/muserv/cfg
$ cp config-default.json /etc/muserv
$ cp ConnectionManager.xml /etc/muserv
$ cp ContentDirectory.xml /etc/muserv

as root.

Configuration

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.

Run muserv

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 :)

Limitations

So far, muserv does not support the following features:

  • searching for music

  • creation of playlists

  • manipulation of tag values (for display or sorting, for example)

  • UPnP "tracking changes option" - However, muserv keeps track of changes in your music library.