The easiest music streaming server available
Go to file
2021-01-04 23:04:55 -05:00
bin move syncthing to bin 2020-12-31 15:48:18 -05:00
build improving electron experience 2019-11-04 02:05:15 -05:00
docs update docs 2021-01-04 12:26:47 -05:00
electron admin panel 2020-12-06 00:42:43 -05:00
image-cache Full metadata support and some bug fixes for mobile 2017-04-11 15:08:51 -04:00
modules update server config handling 2021-01-04 23:04:55 -05:00
public remove db panel 2021-01-03 22:44:45 -05:00
save update server config handling 2021-01-04 23:04:55 -05:00
src update server config handling 2021-01-04 23:04:55 -05:00
webapp-beta webapp beta stuff 2020-12-19 13:30:37 -05:00
.gitignore transcoding 2019-10-23 15:42:16 -04:00
cli-boot-wrapper.js structural changes for improving config management 2021-01-04 11:54:34 -05:00
dev-app-update.yml auto updater 2019-10-24 23:33:02 -04:00
LICENSE Create LICENSE 2017-04-29 13:53:32 -04:00
mstream-electron.js better handling of slashes in file explorer 2020-12-31 16:07:01 -05:00
mstream.js update server config handling 2021-01-04 23:04:55 -05:00
package.json update music metadata 2021-01-03 16:13:50 -05:00
README.md update docs 2021-01-04 12:26:47 -05:00

mStream Music

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.

Discord

Check out our Discord channel

Server Features

  • Works Cross Platform. Tested on Windows, OSX, Ubuntu, Arch, and Raspbian
  • Light on memory and CPU
  • Tested on multi-terabyte libraries
  • Runs on ARM board like the Raspberry Pi

WebApp Features

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

Mobile App Features

  • Available on Google Play
  • Easily syncs music to your phone for offline playback
  • Multi server support
  • Coming soon to iOS

mStream Web App

Install mStream Binaries for Win/OSX/Linux

Download the latest versions from our release page

This is the easiest way to install mStream:

  • Has no dependencies
  • Auto boots server on startup
  • Comes with GUI tools for server configuration and management

Install mStream with Docker

LinuxServer.io have produced a multiarch Alpine container for mStream for x86-64, arm64 & armhf which is rebuilt automatically with any base image package updates or new releases of mStream and features persistent database and album images, and the possibility of advanced usage by editing config.json directly.

Simply pulling linuxserver/mstream should retrieve the correct image for your arch, but you can also pull specific arch images or mStream releases via tags.

See the readme for details on how to get up and running using docker or docker compose on either:

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.

Boot mStream

You can boot mstream with the command mstream

# Boot mStream
mstream

If that doesn't work (sometimes npm link fails on Windows), you can use the alternative command:

# Boot mStream
node cli-boot-wrapper.js

mStream Config Files

By default, mStream uses the config file save/conf/default.json. If you want to use a different config file, boot mStream with -j flag.

mstream -j /path/to/config.json

The docs on mStream config files

Technical Details

  • Dependencies: NodeJS v10 or greater

  • Supported File Formats: flac, mp3, mp4, wav, ogg, opus, aac, m4a

The Docs

All the details about mStream are available in the docs folder

Credits

mStream is built on top some great open-source libraries:

  • music-metadata - The best metadata parser for NodeJS
  • LokiJS - A native, in-memory, database written in JavaScript. LokiJS is the reason mStream is so fast and easy to install
  • Audioplayers - Cross platform audio library for Android and iOS that powers the mobile apps
  • Howler - An audio library that powers the WebApp
  • Butterchurn - A clone of Milkdrop Visualizer written in JavaScript
  • WebAmp - A WinAmp clone that works in the browser

And thanks to the LinuxServer.io group for maintaining the Docker image!