mStream is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere.
- 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
- 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
Install mStream Binaries for Win/OSX/Linux
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:
- Adds tray icon for easy server management
- Auto boots server on startup
- Comes with a GUI tools for server configuration
- No command line needed! Any user can install and run these
Install mStream with Docker
LinuxServer.io have produced a multiarch Alpine container for mStream for
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
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.
Configuring and Booting
mStream can be configured with a JSON file that is loaded on boot. You can use the built in wizard to manage this file or read the docs on how to edit it by hand.
# Brings up an interactive shell program to edit all things in the config mstream --wizard /path/to/config.json # Boot mStream with the config file mstream -j /path/to/config.json
Quick Test Configurations
# 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
mStream is is built on top some great open-source libraries:
- music-metadata - The best metadata parser for NodeJS
- Audioplayers - Cross platform audio library for Android and iOS that powers the mobile apps
- Howler - An audio library that powers the WebApp
- WebAmp - A WinAmp clone that works in the browser