For about a month now, I’ve had my own cloud server, which runs on Nextcloud, a nice open source cloud solution that’s based on ownCloud.
The installation of Nextcloud is rather simple. All you need to do is follow the official tutorial. Basically, you just installed the prerequisites, then get the Nextcloud files. Or, if you’re into
snap, they have a package for that.
One thing to note about the install is that, in most cases, the browser will give up after a few seconds and show a timeout error. If this happens, just refresh the page, and you should have a completed install.
If you want better performance, you’ll need to configure the PHP OPcache. Believe me, configuring the OPcache makes Nextcloud noticeably faster, even if you just access it every now and then. Another step you can take to improve performance is using NGINX instead of Apache as your webserver.
Even with the cheapest of VPS providers, getting terabytes of SSD or HDD storage will cost you. So, my way around this is to set up NextCloud on my Raspberry Pi, which is connected to 2TB of external HDD space(two 2TB drives in RAID 1). Then, I use my cheap VPS to forward all requests over to my Raspberry Pi, via my VPN(which my Raspberry Pi is connected to). This way, I don’t need port forwarding on my router, and it also means no DNS record points to my house’s IP address.
Another solution is to use DigitalOcean[affiliate link] Spaces, the cheapest object storage available. It has a base price of $5 a month, which includes 250GB of storage, and 1TB of bandwidth. Anything above that costs you $0.02 per GB of storage, and just $0.01 per GB of bandwidth. To configure this with Nextcloud, check out this question(well, the accepted answer to the question).
They have a free iOS and Android app that allows for automatic photos syncing(on iOS at least), which is a nice feature. Each time I open the app, it puts all new photos and videos on my cloud, which is even cheaper than iCloud and Google One, because I had the 2TB drives anyways, so it’s basically free storage. Even without the app, the Web UI is amazing, and even works well on mobile. I haven’t managed to set up Collabora, so I can’t fully replace Google Drive, but if you do manage to do that, this could be a full Google Drive replacement!
NextCloud has support for file encryption, and end-to-end encryption is currently in beta. I opted to not use NextCloud’s encryption, because my hard drives are encrypted, and I access NextCloud with either HTTPS, or via HTTP within my VPN, in which case the VPN takes care of all the encryption. The only problem I ran into is CloudFlare’s 100MB upload limit, so I just created a DNS record that point to the internal VPN address of my Raspberry Pi to bypass that.