The easiest music streaming server available
Go to file
2018-01-11 19:30:34 -05:00
docs More styling updates 2018-01-11 19:30:34 -05:00
electron Added docs 2017-09-17 16:06:09 -04:00
image-cache Full metadata support and some bug fixes for mobile 2017-04-11 15:08:51 -04:00
modules Imrpovements to the JSON config boot 2018-01-11 18:54:07 -05:00
public Imrpovements to the JSON config boot 2018-01-11 18:54:07 -05:00
.gitignore Imrpovements to the JSON config boot 2018-01-11 18:54:07 -05:00
Dockerfile Added Dockerfile and modified README 2016-08-26 09:33:39 +02:00
LICENSE Create LICENSE 2017-04-29 13:53:32 -04:00
mstream-command-line-boot-wrapper.js Imrpovements to the JSON config boot 2018-01-11 18:54:07 -05:00
mstream-electron.js Added donate button 2017-11-10 01:39:34 -05:00
mstream.js Added lastfm support 2017-11-13 02:29:13 -05:00
package.electron.json Forgot semver for electron 2017-11-10 01:39:51 -05:00
package.json Moved DB to new structure 2017-10-26 13:05:21 -04:00
README.md More styling updates 2018-01-11 19:30:34 -05:00

mStream

mStream is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere.

mStream Webapp

Demo

Demo 1 (no password required)

Demo 2 (username: admin, password: abc123)

Install mStream

The best way to install mStream is to pull the latest version with git and build that. The full instruction for a fresh Ubuntu install can be found here. The quick version is:

git clone https://github.com/IrosTheBeggar/mStream.git
cd mStream
# Install without dev dependencies
npm install --only=production
sudo npm link

mStrean is also available as a pre-compiled EXE for Windows. This version is called mStream Express and can be downloaded from the release page

Running & Configuring mStream

mStream can be run with command mstream. This will boot an mStream server on port 3000 and will use the current working directory as your music directory.

Configure with CLI Flags

The quickest way to setup mStream is to use command line flags. A full list of command line settings can be seen here. These config options should be enough for most users. More advanced configurations can be made by using a JSON config file

# change port (defaults to 3000)
mstream -p 4999

# setup user
# the login system will be disabled if these values are not set
mstream -u username -x password

# set music directory
# defaults to the current working directory if not set
mstream -m /path/to/music

## lastFM Scrobbling
mstream -l username -z password

Configure mStream with a JSON file

mStream can also be booted using a JSON file using the -j flag. Using a JSON config file allows for more advanced configuration options, such as multiple users and folders.

When booting with a JSON config file, all other flags will be ignored.

mstream -j /path/to/config.json

An example config is shown below. You can see the full set of config options here

{
  "port": 3030,
  "database_plugin":{
    "dbPath":"/path/to/mstream.db"
  },
  "folders": {
    "blues": "/path/to/blues",
    "metal": "/path/to/metal"
  },
  "users": {
    "dan": {
      "password":"qwerty",
      "vpaths": ["blues", "metal"]
    },
    "james": {
      "password":"password",
      "vpaths": ["blues"],
      "lastfm-user": "username",
      "lastfm-password": "password"
    }
  }
}

Android/iPhone Apps

mStream is currently adding support for the subsonic API. Once that's done mStream will be accessible by a number of mobile apps

There is also an mStream Android App that is currently in the alpha stages of development.

The API

mStream uses a JSON based REST API. The API is documented here

The Docs

All the details about mStream are available in the docs folder

Contributing

Like the project? Consider sending us some money on Patreon