muserv

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2020 License: GPL-3.0

README

muserv

Go Report Card REUSE status

Simple command line UPnP server for music files that supports a flexible structuring of your music in content hierarchies. muserv runs on Linux.

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. Therefore, edit /etc/muserv/config.json as root and set music_dir to the absolute path of your music directory. 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
  • 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.

Directories

Path Synopsis
src

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL