mStream Server Versions

mStream Server has several installation methods:

If you are new to mStream, the GUI version is easiest to setup. The GUI version also comes with several features not available in the other versions:

  • Has zero dependencies, making installation as easy as possible
  • Starts automatically when the computer reboots
  • Adds a tray icon
  • Automatic updates

Setup Folders

To add a folder, give it a unique name with no special characters or spaces. Folder names are used to construct URLs for streaming, which is why the naming is so restricted.

Setup Users

Users are optional. If you do not add any users, your server will be booted with all authentication disabled! Anyone and everyone will be able to access your files. While this is ideal if you are using mStream to publish something, you should probably disable uploading when doing this.

When adding a user, you need to specify a username, password, and folder permissions. You can also mark the user as a 'guest'. Guest users do not have access to any endpoints that write to the filesystem. So no uploading, federation access, or playlist modification.

You can add a lastFM account to each user. All your plays in the WebApp will be scrobbled!


Federation allows to sync folders between mStream servers. Federation is built with SyncThing. To setup Federation you have to add a folder where files can be downloaded to. If you do not do that, Federation will be disabled.

To federate a folder to another server, you need to generate a Federation Token and have the other server accept the token on their side. Tokens can be made public by adding your servers URL. Or a private token can be generated if you have to other servers Federation ID.

Enable Transcoding

Transcoding uses FFmpeg to convert your file into a lower bitrate in realtime. This is commonly used to save on bandwidth on mobile devices. Since the conversion happens in realtime, you do not need to store a copy of your transcoded file.

Transcoding is disabled by default because it's still an experimental feature. To enabled transcoding, go the the 'Adanced' settings panel. You can also set the codec and bitrate for transcodes. By default transcoding uses 96k OPUS.

RPN (Reverse Proxy Network)

RPN is a paid service that automates all the difficult parts of putting your computer online. Getting your mStream server running takes seconds. But making your computer publicly available online can be a complicated process that takes hours if you are unfamiliar with the process.

The Reverse Proxy Network is a fleet of cloud servers that are pre-configured for hosting content online. The RPN servers are used to proxy web traffic to your home server. You get to choose a own domain when you sign up for an RPN account (ex: When a devices connects to this domain, the RPN service proxies all requests to your home computer.

The RPN servers also act as a layer of protection. All RPN servers have SSL encryption enabled and updated regularly. They also obscure your home computers IP address so no one can see your home computers real IP.

RPN is invite only