Friday evening, end of the day. Chaos reigned my house. My seven year old waited for me to get off my computer for him to watch his favourite cartoons. He nudged my shoulder and indicated the time for me to get off my rear.
After the nudge, I admit it, I did feel his jab in my rib cage a second or two later. But one tends to ignore these things with age and experience. Particularly, when one is busy reading up about how to spruce up one’s terrace garden. I didn’t want to interrupt my precious schedule. So, I chose to ignore him.
“Appa, what are you doing?” He scowled.
“Well, I am reading pretty important office stuff,” I retorted.
“I don’t think so. Why don’t you click on ‘Images’. I want to look at images of terrace garden also.”
I wanted to give him the now infamous dad-son dialog of how I was at his age. I stopped myself knowing very well that he’d call up my mom to confirm.
“Well, why don’t you go to you watch your cartoons on your mom’s computer? Go. Her speaker system is better than mine.”
“No, I can’t.”
“Her computer does not have the latest cartoons that we downloaded yesterday. I want to watch those.”
“Why don’t you watch the old ones?”
“No, the new ones. I want to watch the new ones. New ones… New ones…“
Uh-oh. He’s repeating. The recursion is on. Warning! Warning! Recursion on. My mind’s red alert went on.
A moment later, the emergency mode of the house came into action. The Mrs suggested something from the farthest corner of the house. To me, the well meaning suggestion sounded like -
“geekk gokk mukk see choo too”
This is what I heard.
What she meant though - “Why don’t get up and give your computer to the little one? Sheesh, do I have to spell out everything?”
Off I went and in came Junior with gleaming eyes knowing that his recursion worked. Every time.
I wandered from the desk and I decided that it was time for this household to have its own cloud.
How can you setup your own new spanking cloud?
Some prerequisites -
- A Linux box or Rasperry pi or some old computer lying around
- Willingness to work with command line or CLI (command line interface) - Oh, c’mon, I am a material scientist who can work with CLI, why not you?
- An external hard disk - 1TB recommended space
- Wifi router
First and foremost, you will want to setup a static address for your Linux box, let’s call it a server from now on.
This article from How-to-geek gives you detailed instructions on how to setup a static IP address for your home server.
Get yourself familiarized with
sudo commands on Linux. These sudos are mighty handy when it comes to installing stuff, unlike the double clicks and exes of the Windows world.
For example, installing Skype on Windows would involve visiting the website, clicking the Downloads section. Finally, you get to the downloading.
However, in the Linux world,
sudo apt-get install skype
would get the job done.
Of course, you have to remember the
install the first few times, then it sort of becomes automatic.
Now that you have your IP in static (Let’s say it is 192.168.1.100), we need to install a few things.
This website gives you detailed instructions on installing on a Raspberry Pi.
For Ubuntu, here is something that will help you. But, at Step 4 of this detailed procedure, I made a change.
For the Data folder in the nextcloud setup, I prefer to keep all the files on my external disk and not on my old computer. So I changed the path to something like
Now, go ahead and install the Nextcloud clients for all your devices: desktops and mobile devices.
data folder is where the data from nextcloud will sit
I have classified data into two types:
- Static: music, movies, videos, pictures, archives
- Dynamic: work files, presentations, blog posts, travel docs, general docs (like passport scans, ID scans, etc)
After you are done with the above step 1 (Installation of nextcloud), you should create at least 3 users:
- Yourself (on your machine)
- Your significant other and other members in your household who will use the nextcloud
The reason admin is a separate user is that you don’t want to be messing with the options on a regular basis.
Now, all dynamic content should be uploaded from your own user account. For static account, use the Nextcloud app called “External Storage”.
Your external drive acts as a repository for all static content. It also acts as a version maintenance machine for your dynamic content when you associate dynamic content with your account.
All Files folder has all the static content. Note that I also have Dropbox folder available for access
Another advantage of the static and dynamic classification is that you can share your common dynamic files with members of your household.
What kind of files would you share with members of your household?
- Grocery lists
- Todo lists (Although, technically, you could use the Tasks app on Nextcloud, this is much easier)
- Travel docs
- Other docs that you want shared
Here are some scenarios to start off:
- You have taken pictures from a trip and you want it all backed up
- You have some videos downloaded and you want all machines to have the same set of videos
- You have a few movies you’d like to watch across all devices
So the workflow is similar:
- Copy the media from the media disk to the corresponding folder. Example - pictures to the Pictures folder, videos to the Videos folder and so on.
- Nextcloud client will make sure all the devices are synced all across.
- For your mobile devices, I’d suggest to create a folder inside your Pictures folder and setup the automatic mode on your mobile phone when you take pictures. This feature is similar to the Google Photos feature.
- If you have a large collection of pictures, videos, etc and initial sync will take a really long time (A day or two). The solution is to take the external disk off your server (after stopping your apache2, mysql servers using
sudo service apache2 stopand
sudo service mysql stop). Then proceed to physically connect the disk to the individual machines and copy them all at one go using USB 3.0. This is rather quick. (Of course, you will have to restart the above services with
sudo service apache2 startand
sudo service mysql start)
- Add Dropbox and Google Drive folders also via “External Storage”, so that in case your team members/friends want to share stuff with you, it will still be available to you for access.
All in all, if you are concerned about privacy of data and about the ever expanding storage requirement, but are too caught up in the features of the cloud, give nextcloud a spin. I even have mail and calendar setup for myself. I plan to give Collabora and/or ONLYOFFICE for working on office documents.
If you do have any questions regarding the setup of nextcloud for your home or have some best practices that I could be using, please do share in the comments section.
Happy Cloud making!