April 20, 2020 Guides, Gaming, Guest Blog

How to Set Up a Multi-Streaming Server with Unraid

By Stefano Partida of SPX Labs

This is a guide to turn your Unraid server into a game re-streaming server. Why would you want a server with the ability to stream to multiple services? Well, you're probably trying to reach a broad audience across different services, right? This is a great way to make that goal happen using your Unraid server. At the end, you should be able to use Unraid to stream to Twitch, Mixer, YouTube, etc. In this particular guide, we will only be configuring our container to stream to Twitch. Let’s dive in!

The Hardware

The server I’m using is a left over one that was almost decommissioned. Here is a list of the build in its most basic form:

Let’s Get Started:

I am running Unraid version 6.8.3 to make this happen. You will also need Community Apps with Docker Hub enabled.

Community Apps Plugin

Community Apps version 2020.03.14

To install the Unraid Community Apps (CA) plugin, simply click the Plugins tab then click the Install Plugin sub tab and paste this URL into the form to install it, don’t forget to click the Install button:

https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
CA

Now that you have CA installed, navigate to the newly created Apps tab. You may need to refresh your page or reboot Unraid if the Apps tab doesn’t appear.

Scroll all the way down and look in the left pane for the Other section. Click the Settings link and set “Enable additional search results from dockerHub?” to ‘Yes’.

Docker Hub

Now, search for dvdgiessen in the search bar and click “Click Here To Get More Results From DockerHub”.

Searchbar

nginx rtmp docker” should be the first available option. Click the icon with a downward arrow to install the container.

Nginx

Configure NGINX RTMP Docker in Unraid

Once you configure this part correctly we are almost ready to stream to Twitch with Unraid.

  1. Click on the Docker tab
  2. Click the question mark icon next to nginx-rtmp-docker
  3. Click edit
  4. Change Network Type: to Host
  5. Click the “Add another Path, Port, Variable, Label or Device
    1. Add port 1935
    2. Connection Type: TCP
  6. Repeat step 5
    1. Add Path
      1. Container Path: /etc/nginx
      2. Host Path: /mnt/cache/appdata/nginx-rtmp/

Your configuration should look very similar to this.

Config

Now, Apply your changes. Here comes the hard part: Either SSH into your server or open a terminal. Unraid allows you to open a terminal in your browser if you click the >_ icon in the top right corner.

Once you are at the command line type the following commands:

cd /mnt/cache/appdata/nginx-rtmp/

and then

vi nginx.conf

Term1

You should be looking at an empty file. Press i on the keyboard to “insert” text. Copy and paste the following into the terminal window:

user nginx;
worker_processes auto;
rtmp_auto_push on;
events {}
rtmp {
	server {
		listen [::]:1935;
		chunk_size 4096;
		application live {
			live on;
			record off;
			push 'rtmp://live-atl.twitch.tv/app/<yourTwitchStreamKey>';
		}
	}
}

Note: You will need to get the Twitch Streaming server near you. Mine happens to be Atlanta. To find the nearest click this link -> Twitch Ingest Server. Replace live-atl.twitch.tv/app/ with the correct server URL. You can get your Stream Key from Twitch and place it into the above text <yourTwitchStreamKey> section. This is where you would also enter the second, third, or fourth line for different services to stream to.

Once you are done making the necessary changes, press the <Esc> key and then hold the <Shift> key and type :

Now type: wq! and press the <Enter> key to save your changes.

Term2

Finally, go back to the Apps tab and “Start” the container. If you did everything correctly, it should start up and give you no problems.

Nginxrmtp

Configure Streamlabs OBS or OBS Project

This is possibly the easiest part of the entire setup. I’m using Streamlabs for this example.

  • Custom Server
  • URL: rtmp://yourUnraidServerIPaddress:1935/live
  • Stream Key: test
Obs Stream Labs

Once you get your stream setup how you like it, as soon as you “Go Live” you will immediately begin streaming to Twitch. Boom- you are all done!

Customize the Icon Next to the Container

To customize the container icon in the Unraid webgui, enable Advanced View and then scroll down for “Icon URL:”. Enter in a URL or file path to an Icon you want to use. See below:

Customizeicon

What Hardware Do I Need?

You don’t need anything too crazy. While streaming, my Unraid server didn’t even flinch. See the gif below as an example and observe how little the RAM and CPU are being utilized:

Why Unraid?

This setup is ideal if you already have an Unraid server and are looking to do more with it. It’s also pretty simple to do that won’t require you to install a virtual machine or install inside of your operating system. This is all done through Docker running as a container. Also, this is all web configurable which is great because via your gaming computer you can access the server and terminal through a web browser. This allows you to limit the number of interruptions during your stream if you are a one man show.

Do you plan to use Unraid as a multi-streaming server?

Let us know your setup in the forums!