My experience creating a Nextcloud server at home
Today I would like to talk about my recent experience creating my own Nextcloud server at home. I have been using it for about a week now to some success that I am happy with, and mostly wanted to share my thoughts on the experience.
On my list of current pains in the modern tech world is the idea that we must pay for data ourselves in order to host our insurmountable amount of information in our lives. Gone are the days of VHS collections and photo books, and now is the time of Plex servers and gigantic digital photo albums - the digital era is here.
But the digital era has a cost - tech corporations.
For every need a consumer has, a business exists to satisfy it. If the business doesn't exist, eventually someone will make it. It has been that way for a long time now, and frankly most people probably don't care to remember what the good old days were like. Have a large issue, like data storage and provisioning? Who cares? Pay Google to host your files and move on with your life.
Paying someone else to do something has existed for as long as human history has, but it's time I finally put some effort in escaping a long-winded cycle of destruction. I have a lot of files, but not enough consistency across systems I use. How do I go about changing this? Setting up my own system to help me carry my files across multiple platforms.
The question is, is it worth all the trouble?
Disk-space renting is such a horrific market I do not want to really consider myself a customer of it anymore. As someone who has paid for storage and used free clients, it's such a dumb market for individual consumers to get trapped in. If you're a big business who needs to move fast and break things, by all means go with a cloud storage provider who can help you elevate your business.
But honestly, if you're a regular person, you really should not ever use a cloud storage subscription. It's a rip-off.
Cloud storage providers are the kings of the castle, and we are the simple peasants working in the fields, watering the bytes. The market is so unfair to users it's not even funny. The rules of data hosting have changed so much in the last five years that it's kind of ridiculous what we're willing to put up with. If we as a working-class society hate landlords for owning all the houses, then we should also hate big tech companies for owning all the hardware and buying everything up.
Things that irk me about cloud providers:
The computer industry cannot endure this for much longer. Natural resources are drying up, and hardware is getting more expensive. Soon once we run out of minerals, companies will be knocking at your doors every day trying to buy what little silicon may be left in your household as an attempt to gather more computing resources. It's all for the good of corporate growth.
I am for the most part done with these rent-seeking data hosting companies. While I agree there are some things they provide that can be useful, and to which they would have the experience to handle all the downsides of self-hosting, the only way for us to take back privacy is to stop using these big-name providers.
If you wanted to pay for 2 terabytes of storage, which is about 2,048 gigabytes worth of space, you would pay Dropbox or iCloud about $9.99 a month, or $120 USD a year. Over ten years that's only $1,200 dollars, not bad right?
Or, you could buy something cheaper.
Portable hard drives have been my best friends for as long as I can remember. I use them for games, photos, videos, operating system partitions so I could boot Linux on computers that don't have Linux most of the time, and you could probably do so much more.
While a portable hard drive isn't as convenient, it's a good stepping-off point into taking control of your digital life. The instant convenience of having your photos accessible to you all the time is great, but that's more of a magic trick I don't feel is super important most of the time, and you pay a lot of money a year for a magic trick you might only use every so often.
You could call a plain old portable hard drive like this a "dumb" drive because there is no connectivity to it to the modern internet world. You can't plug a hard drive into your local network and suddenly make it accessible and private (unless you want to re-live the MyBook Live hack).
But fortunately, this is where Nextcloud kicks in - Nextcloud can enable you to power-up your digital life and become a modern-day replacement for any cloud service you keep on your phone. I have been using Nextcloud for work and non-work purposes, and it's been great!
If you are confused as to what the image is above, that is in fact a Samsung laptop that belonged to a family member purchased several years ago. It's not particularly good anymore, but I collect a lot of old hardware as a tech enthusiast. It's sad to see good things go, and this laptop is perfectly good for a project like this.
Oh, yes, I should mention - this laptop is hosting my current Nextcloud setup, and I would say it's usable! The operating system it is running is a server version of Fedora, and because it's not running intensive desktop virtualizations, it can focus on basic things like serving static files or being a basic FTP computer. You can plug as many hard drives as you want into it and expand your storage as you see fit.
Nextcloud comes with (out of the box) the ability to upload files, add users so you can add your friends, and some tools to collaborate with any of your friends on it by creating shared folders. The Nextcloud Android app can synchronize folders automatically if they detect new files. The one thing I am trying to find out of Nextcloud can do is to be able to download files from your Nextcloud server if there are any changes. So far I haven't had luck in this department, but we're getting there.
Now you might ask, "how do you get your web server exposed to the internet?", which is a valid question, because hosting your computers at home and trying to expose them to the public net is no small job. In some instances you often times need to request (and pay more) for a static IP address to your home, which is a sucky process.
I wouldn't be writing about this if I didn't find some cool and slightly easy alternative to it - and it's called Cloudflare Zero-Trust Tunnel.
The goal is to instead of worry about exposing your computer to the world wide web, you expose it to the Cloudflare Argo network instead using a client called
cloudflared daemon will communicate with the Argo network and carry traffic to and from your devices based on the incoming requests. If you configure your DNS through Cloudflare, you can have traffic sent over configured CNAME records and have them reach your target computer easily.
I have been doing this with a few different services and it's worked out great. Cloudflare creates the security certificates and deals with the traffic, and my friends and I enjoy secured, private traffic without needing to expose my home IP address to the web. I consider that a win for the most part.
I do support Cloudflare products, and I enjoy seeing what they make. It's a great service and I am happy to be their customer. Other people's opinions are valid, but it works great for a small-time person like myself trying to create a better web experience.
I have set up my home 'server' with Nextcloud, but the next stop is the biggest one - leaving Google Android behind, and moving into the wild world of Google-less Android. My Pixel 3a XL is losing it's software support next month, and it's high time I either try out other Androids, or maybe I just give up and get a new phone? 🤷
Slowly but surely I am trying my best to cut Google out of my life more and more. Thanks for reading!