The easiest music streaming server available
Go to file
2018-12-02 16:38:44 -05:00
docs docs 2018-11-21 01:27:07 -05:00
electron Logging 2018-10-03 01:08:36 -04:00
image-cache Full metadata support and some bug fixes for mobile 2017-04-11 15:08:51 -04:00
logs Logging 2018-10-03 01:08:36 -04:00
modules clenup commander 2018-11-18 22:58:01 -05:00
public small touchup 2018-12-02 16:38:44 -05:00
save directory structure 2018-11-18 23:39:21 -05:00
_config.yml Set theme jekyll-theme-slate 2018-11-06 14:20:44 -05:00
.gitignore directory structure 2018-11-18 23:39:21 -05:00
cli-boot-wrapper.js getting there 2018-11-15 18:39:36 -05:00
Dockerfile Update docker file to use local git repo instead of npm install 2018-02-22 07:37:56 -05:00
LICENSE Create LICENSE 2017-04-29 13:53:32 -04:00
mstream-electron.js remapped config 2018-11-15 17:41:57 -05:00
mstream.js linux only bug 2018-11-18 22:51:11 -05:00
package.json remove electron from package json 2018-11-18 04:20:46 -05:00
README.md small touchup 2018-12-02 16:38:44 -05:00

mStream

GitHub All Releases GitHub issues GitHub closed issues

Check Out The Demo!

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

Server Features

  • Works Cross Platform. Tested on Windows, OSX, Ubuntu, Arch, and Raspbian
  • Dependency Free Installation
  • Light on memory and CPU usage
  • Tested on multi-terabyte libraries

WebApp Features

  • Gapless Playback
  • Milkdrop Visualizer
  • Playlist Sharing
  • Upload Files through the file explorer
  • AutoDJ - Queues up random songs

mStream Webapp

Install mStream Binaries for Win/OSX/Linux

Download the latest versions from our release page

This is the easiest way to install mStream. They have no dependencies so you can just download and run them. These releases come with an additional set of UI tools and features:

Install mStream From The Command Line

If you just want the core part of mStream without all the UI tools, you can install mStream from the NPM or Git repositories.

# Install From Git
git clone https://github.com/IrosTheBeggar/mStream.git
cd mStream
npm install
sudo npm link 

# To update mStream just pull from git and reboot the server
git pull

You can also install mStream through npm with npm install -g mstream. This is not recommended since some OSes (like Ubuntu) require sudo to do this.

Quick Start

To test your installation, run the command mstream. This will boot an mStream server on port 3000 and will use the current working directory as your music directory.

# the login system will be disabled if these values are not set
mstream -u username -x password
# set music directory
mstream -m /path/to/music

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

Editing a JSON config by hand is tedious, so mStream comes with an interactive bash program to edit the config file.

# Brings up an interactive shell program to edit all things in the config
mstream --wizard /path/to/config.json

Android/iPhone Apps

mStream has an Android App in progress. The app is currently in the alpha stage of development, but it works well enough for public use. The app will be released to Google Play once it's no longer an alpha.

For now you can download it from the git repo

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

mStream is currently in need of a mobile developer to help with an app to sync music between devices. If you're interested in helping, email me at paul@mstream.io

Project Breakdown

mStream is technically several different projects, each in their own stage of development.

  • Server Core [v4] - The actually server code
  • Server CLI Tools [v1] - These tools let you boot and configure the server via the through the command prompt. These were moved to v1 with the completion of the JSON configuration wizard
  • Server Express Framework [v0.12] - Remember how the CLI tools are separate from the Server? The Express Framework allows mStream Server to be compiled to a binary that can be booted an configured entirely though a GUI. No command line needed.
  • WebApp [v4] - The webApp has been built in parallel with the server
  • Android App [v0.4alpha] - An android client that can stream and sync files from any mStream server