free web stats
Menu
Subsonic 6 Raspberry Pi Zero Streaming Media Server

Subsonic 6 Raspberry Pi Zero Streaming Media Server

I've written a few Raspberry Pi tutorials, but when it comes to music, I wanted a media server that could play my music library anywhere I was at (with an internet connection, of course). The RuneAudio Raspberry Pi works well for music when I am sitting by the Pi and can jack in with my headphones or speakers, but if I'm at work, the Rune Pi can't pipe the tunes to me at my desk from home.

For this, I've chosen to run Subsonic, a free media server that can handle both audio and video files, and stream them to any web browser on the net, or a dedicated phone app.

While I could play my music on my phone or from the laptop, it's pretty cool to have your own server sitting at your house that you can play your music from anywhere you are, and accomplishes my goal of having a single source for media. I don't have to move media files to every device I have anymore. I just load the files to the Raspberry Pi and I'm done.

Now I know there are services out on the net that do the same thing, but it's just the "tinkerer" in me that decided to do it myself.

The Subsonic free version allows you to stream music to any current web browser, while the paid version ($12/year or $99/lifetime) allows you to stream video, stream to your Chromecast and Sonos devices, play your media on compatible DLNA/UPnP devices, and use the Android/iPhone apps.

What's Needed:

Raspberry Pi Zero Kit - $28

raspberry pi zero starter kit

USB Wi-Fi Dongle- $2.39

The OTG Adapter enables you to use the full size USB Dongle in a MicroUSB port.

Bestpriceam EW 7811Un 150Mbps 11n usb Wi Fi dongle

Large &Fast MicroSD Card

-- I am using a 32GB Sandisk Ultra - $8 on sale @ OfficeDepot

sandisk 32GB Ultra

 

The easiest way to install Subsonic is through the DietPi installer image.

Installing Diet Pi

First things first, I headed over to DietPi and downloaded the lastes image for Raspberry Pi.

1 download diet pi

Write The Diet Pi Disk Image

Next, write the image to your SD card using Win32 Disk Imager (Windows).

win32 disk imager write diet pi image

Make sure to choose the correct drive letter for your MicroSD card or something disasterous might happen (like overwriting another drive). The the picture above, I have the MicroSD card mounted as F:\ Drive.

Once the write has completed, don't eject the MicroSD Card yet!

Open the MicroSD card in File Explorer and edit dietpi.txt using WordPad

Edit this part as follows:

# >> Networking Options -----------------------------
#If both Ethernet and Wifi are enabled, Wifi will take priority and Ethernet will be disabled.
# 1=enabled
Ethernet_Enabled=1
Wifi_Enabled=0

To This:

# >> Networking Options -----------------------------
#If both Ethernet and Wifi are enabled, Wifi will take priority and Ethernet will be disabled.
# 1=enabled
Ethernet_Enabled=1
Wifi_Enabled=1

dietpi txt enable wifi

Right below the network section, there is a section to change the Wi-Fi SSID and Key. This only runs on the very first boot, and MUST be changed in the configurations, which are coming up in the tutorial. 

dietpi txt change ssid and wifi key

Save the file and then safely eject the MicroSD card.

Put the MicroSD card in your Raspberry Pi Zero, attach the OTG Adapter, and WiFi dongle. Try to contain your excitement as you power up your Raspberry Pi Zero for the first time.

Wait for the network light to start blinking on your Wi-Fi adapter, and then wait for another 30 seconds or so to give the Pi time to connect to the network and get an IP address.

While you're waiting, you might want to download PuTTY. It's an SSH terminal that allows you to communicate with the Raspberry Pi Zero. Install PuTTY and run it.

You'll see a window that looks like this:

PuTTY Config Window

Now you need to find out what your Pi's IP Address is. In order to do this, you can access your router's IP address in a browser window if your router has a web interface (most routers do).

What you are looking for is the DHCP list of connected devices. 

get IP address of Raspberry Pi Zero

In the above screenshot, you will see the IP address under the IP Address column. Most internal IP Addresses start with either 192.168.XX.XX or 10.1.XX.XX where the "XX's" are numbers. You will know its your Raspberry Pi because under the hostname column, you will see "DietPi".

An Internal IP address is one that is only accessible from inside your home network.

*** Do Not Close This Window/Tab Yet If You Want To Access Subsonic Outsite Of Your Home Network *** we will get to that part at the end of this tutorial.

Put this IP address of your Raspberry Pi Zero into the PuTTY SSH Window:

enter IP address in PuTTY

Click the Open Button and the SSH Terminal window will open.

You will be greeted with the Login:

 login as:

Type the default username root

This email address is being protected from spambots. You need JavaScript enabled to view it.'s password:

Type in dietpi as the password.

You should now be logged in. You'll see one of two possible screens:

First Possible Screen

Main SSH interface dietpi

If you have this screen, type in dietpi-config then hit enter.

dietpi config

Use the arrow keys and arrow down to 7 Network Options: Adapters and click enter.

Some people have reported landing on this screen, which is the next screen in the sequence above too.

Second Possible Screen

network adapters

Arrow down to Wi-Fi Change Wireless Network Settings and click Enter.

set network

Scroll down to Manual Manually Set Wireless Details and click enter. The box will ask you for your Wi-Fi network's SSID and KEY. Enter both and you will be taken back to this screen again.

Just hit tab to get down to the OK and Back selections. Use the right arrow key to go over to back and click Enter.

You should now be back at the DietPi Config screen.

dietpi config

Now scroll down to 6 Security Options and click Enter.

Change the Root Password

Select Change Root Password

Change Root Password

Now enter a new password that you will use to log into the Raspberry Pi. It must be at least eight characters in length, and tossing in a couple numbers doesn't hurt.

You will have to enter the password twice. Just type your password, then hit enter.

Do it again, and hit enter again.

You should see a confirmation message that the Root password has been successfully changed.

Just go back to the main Dietpi-Config screen and tab down and arrow over to exit.

Your Pi may reboot at this point. On mine, it just did it's thing for two minutes, but didn't shut down.

When it's done, you will be back at this prompt:

root@DietPi:~#

Now, type in dietpi-software and hit enter.

You should see this screen.

3 dietpi software

Scroll down to Software Optimized and click enter.

The next screen looks like this.

4 dietpi software selection choose subsonic 6

What you need to do is scroll down until you get to the Subsonic 6 line and hit spacebar to add the asterix, telling the system that is what you want to install.

Hit tab to toggle down to the Ok / Cancel selection, and hit Enter on OK.

You will return to the main software screen:

enable Samba

Arrow down to the File Server line and hit enter.

A selection window will pop up. Just arrow down to Samba and hit enter.

Back at the main screen, you'll want to arrow down to Install and click enter.

install everything

The install will take roughly half an hour on the Raspberry Pi Zero. Good time to go grab a cup of Coffee!

coffee hashtag

When the install completes, you'll be back at the main prompt:

root@DietPi:~#

Type in reboot and hit the enter key to reboot your Raspberry Pi Zero.

It will take about 3 minutes to come back on. The best rule of thumb is to wait 60 seconds after you see the Wi-Fi USB dongle light start blinking to give the Pi time to register on your Wi-Fi network.

Access The Web Interface Using Your Computer's Web Browser

Now it's time to access the Subsonic 6 web interface from your browser on your laptop, desktop or tablet. 

Just type in your Pi's IP address followed by a colon (:) and 4040, like below:

http://192.168.1.XX:4040/

You should land on the login screen.

subsonic 6 login

NOTE: Your interface will be white and grey. I have changed the theme on mine.

Login with the default username and password:

  • Username: admin
  • Password: admin

You now will see the main interface (another NOTE: You will have no music loaded. The music you see in mine is what I've loaded before writing this tutorial).

main interface

How To Upload Music To Subsonic 6 Raspberry Pi Zero

Open a file browser window and click network (green arrow) and then double click the DietPi icon (red arrow).

dietpi samba

Now, double click the DietPi Share

dietpi share

Now log onto the DietPi share using your Raspberry Pi username and password, NOT the subsonic user and pass. Remember, by default, the username and password to log on to the Pi Zero was as follows:

  • Username: root
  • Password: dietpi (you might have changed this in the "Change the Root Password" section above)

If successful, you will see the following folders on the DietPi share:

folders on Pi

  • downloads -- NOT used in Subsonic 6
  • Music - Put your music files here
  • Pictures -- NOT used in Subsonic 6
  • Video -- Put video files here if desired

I only use mine for music since I only have a 32GB card in the Pi. If you are using a 64GB or 128GB, perhaps you can save videos if you want.

Once the music is transferred to the Music folder on the DietPi, go back to your web browser where the Subsonic 6 main window is open and look for settings on the left sidebar.

settings

First, add the Video folder if you have uploaded videos. If not, then skip.

Next, click the Scan media folders now link and let the system find your newly uploaded music files.

When the scan is complete, you will see your music on the main dashboard.

main interface

At this point, the only thing you need to do is change your Subsonic 6 admin user's password:

From Settings, click the Users link (red arrow below).

change password

  • First ensure the admin user is selected (Orange Arrow)
  • Next type in your new password and confirm.
  • Click Save button to save the change.

Enable Access From Outside Your Home Network

The last thing that you need to do if you want to listen to your music collection from Work or anywhere outside of your home network is to setup a "port forward" through your router's firewall. Simply, a port forward allows your raspberry pi to be accessed from the internet through a specific port (remember the 4040 we typed in after the IP address? That's a port).

Go back to your Router's web page

port forward

Enter your Pi's IP address and 4040 for both ports. Your router's page might not look the same, but the form fields should be very similar.

Accessing your Pi From A Browser Outside Your Home Network

The Last thing to do is find your external IP address. Go to http://www.whatsmyip.org/ and you'll see your External IP address right at the top

whats my ip

Now, lets say the green XXX.XXX.XX.XX was your IP address and it read 169.254.32.129.

On your work laptop at the office, you'd just need to type http://169.254.32.129:4040/ to access your Subsonic 6 Raspberry Pi Media Streamer in your browser.

Done! Get another coffee.

 

back to top