Media Server Using Raspberry Pi

Introduction: Media Server Using Raspberry Pi

About: Hi, I am a student at university in Germany. I like developing projects related to new technologies and finding interesting ideas for new projects. Why not visit my site

Perhaps you've been on travels or trips and have thought: 'I wish I could carry this as well, oh.. and this as well.' Don't worry, I'm the same :). Travelling can often be time-, and memory-consuming (from taking pictures and videos) so to tackle that boredom and the lack of memory, the best solution I came across was a compact and portable cloud, which works offline. While most cloud-storage's are chunky, other online-clouds rely on a internet connection. Both don't seem like good solutions for traveling so I decided to go with a portable, offline-cloud. I renamed this as the ArOZ-Online system, since the original project was also called the same (see below).

Since the release of the pi zero w, portable and connected projects including the raspberry pi have become more popular and also more compact. What if you could make your offline-cloud with just a pi zero? The form factor of the pi zero as well as the low cost make it quite suitable for this project.

This offline-cloud works by providing a wifi-signal from the pi zero w's wifi adapter. By connecting to the wifi from the pi zero, your phone, tablet or laptop is able to access the memory from the pi zero's micro sd card through a offline-website provided by the pi zero w. Pictures, videos and music can be uploaded, downloaded and played from that website. The whole system works automatically by simply powering the pi zero w.

The original project ( belongs to tobychui from intructables (, who put a lot of time and work into making this project a reality. I'd like to thank this good friend of mine for all his help and would like to request from you to take a look at his projects.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: What's Needed?

Access to a laptop or pc

A raspberry pi zero w

A mirco sd card (min 8GB) for the operating system (Sandisk Ultra and Samsung EVO+ are recommended due to their high writing and reading speeds)

Something to access the micro SD card from your laptop/ pc. I didn't need anything but you might need a micro SD to SD card adapter or a usb in which the micro SD card can be fitted and accessed from the pc/ laptop.

A micro USB cable to power the zero w

And maybe a case for protecting the pi zero w.

As for the the micro SD card, the operating system will take about 3,5 GB, the remaining memory can be used for the offline-cloud. I personally used a 64GB sandisk ultra and had about 59GB left to use for files. As far as I remember, the max. supported micro SD card size for the Raspberry Pi is 128GB, but not all cards are supported and some need to be formatted before they can be used.

Step 2: Getting Started

Instead of writing about 50 steps or more to set this project up on your Raspberry Pi zero w, I chose to simply publish the image file instead, which needs to be burnt on a blank micro SD card. The image file is 1,45 GB big and is compressed. You don't have to actually unzip the file if you follow the instruction below. Here's the link to the image file:

ArOZ alpha image file

The image has be burnt on a blank SD card (min. 8GB). To do so, first format the micro SD card using the software 'SDFormatter' (can be downloaded from After plugging your micro SD card in, select options and activate 'Format-Size-Adjustment'. After formatting, the image can be burnt on the micro sd card. I personally prefer using Etcher to burn images, since it's simple to use and doesn't require you to unzip the image files. Etcher can be downloaded from here: . After selecting the drive with your micro SD card on etcher, select to the ArOZ-Online image and click on flash. When the process is complete, the system is operational, but requires some modifications.

Step 3: Testing the System

Now that the micro SD card is set up, plug the micro SD card in the slot on the pi zero w. Power the raspberry with the micro USB cable. After about 2 minutes, you should be able to see 'ArOZ-Online' as a new network. Try connecting to it using another device. The default password is 'toby-chui'. You should be connected to be wifi from the raspberry pi, but there is no actual internet available. Navigate to your browser and type:

You should now be able to see the ArOZ-Online website if everything was done correctly. Now that it works, some files needs to edited. To edit the files, download VNC Viewer from here on your Laptop/PC (preferably) and connect to the ArOZ-Online system in the wifi settings.

Since it's a pain having to write the whole IP address every time you want to access the offline-cloud, I bookmarked the address of the ArOZ-Online website so I can access the cloud by clicking on one button.

Open VNC Viewer and type this address in the address field:

It will prompt for a username and password. The default username is 'pi' and the default password is 'raspberry'. If it doesn't let you login using that info, try 'root' as the username and 'password' as the password.

You should now see the desktop of the ArOZ-Online system.

After logging in, reboot the device by tying this in LXTerminal:

sudo reboot

After the reboot, you'll be able to login using the user 'pi'

Step 4: Final Configuration

No matter what size your micro SD card has, the full extent of the memory cannot be simply used as-is. To use the full memory available by your mirco SD card, open up LX Terminal, then type in:

sudo raspi-config

A menu should pop now. Select 'Advanced Options' from the menu, then hit enter. From here, select 'Expand-Filesystem'. Navigate to 'back' by using the right and left arrow keys, hit enter, then select 'Finish' in the same way and also hit enter. The system will prompt you to reboot (restart). Select 'yes' and wait. While the system is rebooting, you'll lose the wifi signals and VNC will be aborted. To reconnect, wait about 2 minutes, reconnect to ArOZ-Online in the wifi settings from your device and use VNC Viewer to display the desktop.

The next thing to do is changing the default password. This can be done by clicking the raspberry icon located at the bottom left corner, then selecting 'Preferences' and clicking on 'Raspberry Pi Configuration'. Click on 'Change password' and type in 'raspberry' as the current password. Type in a new password and retype it in the last field. Lastly, click on enter to apply the change. When connecting to VNC another time, use your specified password.

To change the wifi password from the ArOZ-Online system, a specific file has to be modified. Type this in the Terminal:

sudo leafpad /etc/hostapd/hostapd.conf

Find the line 'wpa_passphrase=toby-chui' and modify the password by replacing 'toby-chui' with your own password. Do make sure that the new password has at least 8 characters long and not easy to guess. Save the file by pressing 'Ctrl' and 's' and after saving, quit the editor by pressing 'Alt' and 'F4'. To apply the changes, reboot the raspberry pi by typing:

sudo reboot

After a minute or two, when you can see the ArOZ-Online as a wifi-network, you'll realize that the password has been updated and no device is able to connect to it anymore. Either the device from which you're trying to connect to will tell you to retype the password or you might have to manually change the password for this network in the network settings. Once connected, type in in your browser. The ArOZ-Online website should pop up. If it works, everything is fine.

Congrats, you've finished setting up your own portable offline-cloud.

I hope you've liked this project and wish to hear your opinion in the comments below :) Please don't forget to click on 'I made it!' when you've completed this system since this is my first instructables. I'd also be happy if you add this project to your favorites :))

Well then, thank you and see you again.

Step 5: Adding Security...

Security is important. Nobody would like it if some evil hacker is looking through someones data. At the moment, your zero w is pretty much secure since it's not actually connected to the internet but local hackers could still gain access to your data from your cloud. By 'local' I mean people who can see the SSID of your cloud. A few things can be done to improve the security of your cloud:

Forcing the 'sudo' user to enter your password:

On the Terminal, type 'sudo passwd'. It will ask you for a new password. Don't worry, the Terminal won't show you any characters you type but that's normal. Hit enter and retype your password. Now, the user 'sudo' has a password, but it won't ask for it so far. To force 'sudo' users to enter a password, type:

sudo nano /etc/sudoers.d/010_pi-nopasswd

and change 'nopasswd' to 'passwd' (just remove the 'no'). Press the Control button and the letter 'X' on your keyboard and hit enter. To save the file, simply press 'y' and hit enter, That's done!

Creating a password for the user 'root':

The user 'root' has more rights than any user. By default, the user 'root' will not ask for a password which is a security hole. Creating a password for the 'root' user will improve the security. To do so, enter 'sudo su' in the terminal to switch to the user 'root'. Once there, type 'passwd' and add a password. Hit enter and retype your password. Hit enter again to finish. Now your cloud is more secure against hackers.

Sorry hackers, nice try but no cigar ;)

Step 6: Optional: Debugging, Updating, Installing New Software...

As you've probably realized, after the last step, your pi's been cut off from the world wide web. On the desktop the Pi tells you that there is no wireless interface found. In case you might want to update or upgrade the system or install any additional software, there is a way to gain internet access without modifying anything at all. For this however, you'll need a linux-certified plug-n-play wifi dongle (basically a wifi-dongle that is supported on the Raspberry Pi eg. PiHut / Edimax / Pimoroni...) as well as a micro-USB to USB adapter. Plug in the micro USB adapter in the left micro usb slot on the Pi and connect the dongle to the adapter and power on the Pi. Connect to the Pi over VNC using and search for wifi-networks by clicking the wifi-icon at the bottom left side. You'll be prompted to enter the password for the network. You should have a working internet connection now, which will last as long as the external wifi adapter is plugged in.

One big advantage of this system is that all functions of the Raspberry Pi Zero W can still be used. If you are on travel, you can even work on the raspberry pi's Desktop over VNC and access it whenever the Pi is powered. You won't even need a screen, a keyboard or mouse to access the desktop of the Pi Zero W.

Travel Contest 2017

Participated in the
Travel Contest 2017

Invention Challenge 2017

Participated in the
Invention Challenge 2017

2 People Made This Project!


  • Trash to Treasure Contest

    Trash to Treasure Contest
  • Raspberry Pi Contest 2020

    Raspberry Pi Contest 2020
  • Wearables Contest

    Wearables Contest

7 Discussions


Question 8 months ago

Hi, you dine great inspirational tips. Here I want to ask you, what if I add an external hard drive, is it possible?


Answer 8 months ago

Thanks for joining instructables and for your compliment, ad_dee. The current image (OS) file is not set-up to support external hard drives out-of-the box. The reason is because this project is focused on portability and ease-of-use. Adding an external hard drive requires a lot more power (especially HDDs) and the build becomes bulky. If you want to increase the memory for the multimedia system, the best way would be to get a microSD card with a larger (128GB) capacity.

While I can't help you much with the external drive on this project, the developer of the system, tobychui, made a new instructables for a system which does support the feature you're looking for. You can flash that system on a Raspberry Pi 3B, connect a HDD/SDD via the USB ports and use it quite similarly to this system. This is the link to that instructables:

If you have any more questions, please feel free to ask me :)


2 years ago

Good Instruction and a cool project for a pi zero.

But i have one question: how can i delete the files?


Reply 2 years ago

Thank you for your compliment :) To delete the files, you have to use VNC Viewer to connect to the pi zero, open the file browser, navigate to /var/www/html and delete the files in the corresponding folders. The file names might not have 'proper' names, so it's best not to upload anything that isn't needed.


2 years ago

I love this Instructable. The steps are clear and easy to follow. And thanks for the link pointing back to the original post :)


Reply 2 years ago

Thanks for the compliment, tobychui. It's all thanks to your ArOZ-Omega-Online project and help your help that I was able to make such an instructable.

Thank you for that :)