I’ve recently become more and more weary of using Google’s services for pretty much everything in my life up till now, from Gmail to Google Drive. At first, the huge convenience factor made it seem like such a logical decision, having all my data at my fingertips, guaranteed by Google’s large swathe of servers. Recently however, I’ve changed my mind. No more do I want to be tethered to the data empire that is Google. I’d like to go my own way. In the recent months at my new job, I’ve been using a lot of Ubuntu at work. It’s pretty much my primary operating system for development. And boy, have I learned a lot!
Long story short, I’ve decided to host my own cloud, and I’m starting off with a hacked-together Raspberry Pi “NAS”, if you could call it one.
The Filesystem
My initial idea was to set up a NAS on my local network at home, and mounting this filesystem through NFS (Network File System) on my VPS server at Hostinger. Then, I could set up the cloud web service on my hostinger server, while keeping my files on my NAS at home. This would allow me to have the performance on the front-end, but the storage on the back-end. Unfortunately, after contacting their customer support, they were unwilling to allow user-mounted File Systems on their systems. Distraught, and not wanting to move VPS providers right now, I decided to also move the web-service to the NAS (Raspberry Pi). This is not the best solution, because now even the web interface has to make an extra hop to get to the server (NAS to VPS to End User). The NAS is connected to the VPS through an OpenVPN connection, so at least my little Pi isn’t facing an open internet connection.
The Interface
For the web interface, and basically all the functionality of a working cloud, I’ve decided to go with NextCloud. I’m really impressed with the level of functionality provided by it. It has an interface for file management, for instant messaging and calls, for calendars and it even has a Kanban board! You guys really have to check it out, I will upload some pictures soon!
I’m running the NextCloud service, like all my web services inside a Docker Container (that I’ve strung together with Docker Compose). I’m really a huge fan of these containers, I’ve just got to keep an eye on their memory and disk consumption. As with any Docker amateur, I think I’m also really susceptible to getting a bit too carried away with Dockerizing everything. But hey, it seems to be working really smoothly right now. I’ll sing more praises for Docker in another post.
If you’ve got any questions about my setup or wanna know more about how you could get something similar set up, leave me a mesage, and I’ll share what I know!
Thanks for reading,
Naresh.