Building your own cloud service

Reading Time: 4 minutes

Most of us have at least used one of the big names like Google, apple, Alibaba, xiaomi cloud services where you store photos, documents and other files to the cloud. It is so convenient to use that we sometimes willing to allow the service provider to use those data to provide more personalized services. However, usually there are limitations like storage capacity which would require an upgrade in order to have more capacity.

Commercially off-the-shelf NAS

Today, you have so many options to use other cloud services like buying a commercially of the shelf product like a NAS (Network Attached Storage) aka private cloud service. There are many providers like Synology, D-link, TP-link, and many more. These NAS will come with an enclosure that supports 1/2/4 hard disk bays. And will usually have software that’s makes it much easier to configure.

Building your own cloud. What do you need?

Following are components used for my setup:

Odroid hc1 setup price

ItemsComponentUnit price (USD)
1Odroid HC1 – Single board computer from hardkernel.com49
2ODROID-HC1 Case Clear 2.5
3 5V/4A Power Supply EU Plug5.5
4Microsd card – Sandisk 32GB microsd U38
5CAT6 internet cable – faster data transmission (up to 1Gbps)3
6Kingston 480GB A400 SATA 3 2.5″ SSD67

Another option is to build your own by using hardware enclosure from SBC (Single Board Computer) providers. Like However, this is the most difficult option where you will also have to build the cloud service  stack from ground up. Meaning you have to select your preferred operating system, build it. As for the disk, you will have option to buy a HDD or SSD. I’ve chosen to buy SSD, partly an impulsive purchase during 11.11. Then install the preferred cloud software, in my case I’ve selected nextcloud. At the time of writing, I’m using version 13 of nextcloud. There are some consideration to selecting your cloud software, my criteria is as following:

  1. Easy installation process
  2. Security considerations taken by the software provider
  3. Support for multi client environment, Android, Linux, Windows
  4. Easy and secure sharing
  5. Ability to provide temporary data upload service for large files
  6. For privacy

Next challenges is to be able to configure a setup that can go through corporate firewalls, i.e. using standard port like 443/SSL. You will need a few building block for this:

  1. A domain name, minimum requirement is to be able to update your dynamic IP address when you get a new public IP from your service provider.
  2. Router to configure a port forwarding from a incoming port to internal IP and port.

Please do let me know areas where you are interested, in order for me to write a more details how-to. You could provide feedbacks via commenting from below.