In today’s presentation, I will walk you through all the steps of getting your very own Raspberry Pi portable cloud up and running.
You might be wondering what a portable cloud is. Simply put, a portable cloud is pretty much like a hard-disk-on-air. What this means is that instead of plugging your hard disk to your computer to access media on it, you simply access to this hard disk wirelessly over a hotspot. I hope this makes sense!
This project is ideal for anyone who wants to tinker with a media server that can be accessed within a localized wireless network. It can also be configured to be accessible remotely over the internet.
The application that allows us to interface with the media stored on the Raspberry Pi is called Plex. In simple terms, Plex is a client-server setup in which the client directly streams data from the Plex media server. This means that you can access different type of media that would be pre-loaded on a Raspberry Pi. This server can support multiple users at a go.
What you need
Listed below are the materials you need to set up the media server:
Raspberry Pi 2 or 3
Micro SD Card
USB Keyboard and mouse
External Hard drive or USB Drive or SSD card
NOTE: This will not work at all on older versions of the Pi. Only Raspberry Pi 2 or later will work.
Setting up the Raspberry Pi Plex Server
In this tutorial, I will be using Raspbian Jessie so it’s important to make sure you have expanded the SD card to the full size, this setting is found in the Raspi-config.
Since there is no official ARM plex server, we will need to download and use a repackaged ARM version from day2dev.
1. As with any software, tutorial let’s first make sure our Pi is up to date.
sudo apt-get update
sudo apt-get upgrade
2. We next need to enable the HTTPS transport package so we can access HTTPS packages using apt-get. Enter the following line to download, install & activate it.
sudo apt-get install apt-transport-https
3. Next, we need to add a crypto key for the dev2day website to our keyring. The | in the following command copies the output from the first command (wget) into the second command (sudo apt-get add – “first command output”).
wget -O – https://dev2day.de/pms/dev2day-pms.gpg.key | sudo apt-key add –
4. Next, we need to add the dev2day repository to our package source list. To do this just enter the following.
echo “deb https://dev2day.de/pms/ jessie main” | sudo tee /etc/apt/sources.list.d/pms.list
5. Now we need to update the package list, and you can do this by running the following command:
sudo apt-get update
If you get the error “/usr/lib/apt/methods/https could not be found.” Then the https transport package hasn’t been installed. Double check that it has been installed correctly.
6. Now run the following to install the Plex media server onto the Raspberry Pi.
sudo apt-get install -t jessie plexmediaserver
If you get an error at this step, then be sure to check out my video that i will post in the next tutorial.
7. To avoid any annoying permission problems, change plex to run under the Pi user. To do this open the following file.
sudo nano /etc/default/plexmediaserver
8. Change the user from plex to pi.
9. Now restart the plex media server.
sudo service plexmediaserver restart
10. Now it should all be installed, but before we get started, we should make sure the Pi has a static IP, so it’s easy to remember the IP address. To get your current IP address enter the following:
11. Now open up the cmdline.txt file.
sudo nano /boot/cmdline.txt
12. At the bottom of this file, add the following line: (Replacing “YOUR IP” with the IP you got from using hostname -I)
13. Once done, exit by pressing ctrl x and then y to save.
14. Now simply restart the Pi by running the following command.
15. The Pi should now always start with the same IP. You can also set this on most routers by tying the mac address of your network device (WiFi or Ethernet) to an IP.
Now the Raspberry Pi Plex media server should be all set up and ready to scan your media and stream it any client that wishes to connect. I will go through some basics of setting everything up below.
Storing Media on the Raspberry Pi
Now there are several ways to store your media on the Raspberry Pi. I will mention each of the methods below.
You can hook up an external hard drive with all your music, movies and whatever else you may have. Setting the Plex program to run as the Pi user means you can plug a USB hard drive in and access the media in Plex without any issues.
You could also set your Pi up to act as a NAS so you can transfer your media across to it without needing to disconnect/reconnect a hard drive. You can set this all up by following my tutorial on setting up a Raspberry Pi network attached storage. Again make sure you set the group & user owner to Pi or whatever the user Plex is running as.
Lastly, you can use the SD card for storage but as you could imagine this will quickly run out of space. You can set up a folder on the SD card to be accessed via the network.
Connecting Clients to The Plex Media Server on the Raspberry Pi
To connect to the browser, enter the IP followed by the port 32400 and /web/. For example, mine is.
You will be prompted to log in, simply sign up or sign in to an existing plex account. You can skip this by just entering by entering the address above in again.
Next, you will need to setup your music, movie and TV show libraries. This process is incredibly easy and shouldn’t be too hard in getting it set up correctly.
I will demonstrate how you can load your media on the Pi in the next post.