This is not strictly self-hosted but another approach I which is similar in philosophy, and which I actually prefer in many cases: hosted services.
–
So about 5 years ago I got fed up with having to update nextcould (or was it owncloud? I don’t recall) so I was looking for a hosting service.
Initially I expected this to be a bit of a burden on my budget (especially if one scales with users), but to my surprise, I found OwnCube (owncube.de), where the price was about EUR 18 per year. Great deal. So I went ahead, set it up, tested for a while and eventually ended up configuring my parents’ phones to use it for storing contacts & photos instead of Google.
To be clear, I did not use nextcloud myself directly. I had been already paying for fastmail, and it’s perfect, except it’s single-user, so for myself I kept using fastmail, just synchronizing fastmail (using vdirsyncer) and owncube nextcloud just to have a backup and also alternate interface.
This was working perfectly, until one day, it broke. It just stopped working (throwing some errors on sync). When I opened my web interface there was just this message, saying the nextcloud intrerface is not compatible with PHP 8.0+.
Seemed understandable: they updated the underlying server to PHP 8.0 but not the Nextcloud instance. Not superb, but fine, I’ll just open a support ticket.
However, the ticket went nowhere. The support engineer kept repeating something that amounted to,
- they needed to update PHP for security reasons,
- the plan I subscribed to does not “come with auto-updates”,
- so — I am responsible for updating the Nextclould instance, not them.
That does not make sense. I don’t have access neither to the instance nor to the updater. All I can do now is stare at the message. Their admin UI did not provide anything, either (some “magic” button, URL or SSH access).
I pointed it out but they kept repeating themselves and eventually explained that I can either cancel the service and start it again (pay again!) – which will give me updated NC but my data will be erased, or I can “book auto-updater” which meant I should pay one time fee about 70 EUR (more than double my yearly plan).
That does not make sense. I understand that I chose the basic mini plan, I can’t expect anyone to jump over hoops. I also perfectly understand that any software can break because of version mismatch (after all, I’m a software engineer myself). But nobody knows how many times per year that can happen, so if I have to pay extra every time then my plan is unpredictable.
Sadly the ticket went nowhere, the support sounded like a broken record, with “pay X amount of EUR here” link. Seems like a definition of holding my data hostage.
Eventually I decided to cancel the service.
–
So the morale, I guess…?
-
Be careful to whom you entrust your data
-
Don’t get too tempted with great prices. Make sure you understand what is (NOT) included.
-
DO keep your backups.
- For me, vdirsyncer worked great; it is a bit pain to configure and troubleshoot but the architecture is great and it gives you opportunity to sync between independent accounts and even plain text files, which can be a life-saver. (Even sync with google worked.)
-
Consider having more instances.
- Eg. you could pay one and self-host one, use the paid one as a primary access point (public internet, usually much easier), and the self-hosted one as a backup.
- Alternatively, one could even share a pool of instances with friends, split the bill and sync both ways.
- (You will still need an almost-always-running cronjob somewhere to sync the data, if you’re going with vdirsyncer approach.)
Just a follow-up with what I use now.
As a replacement, I ended up setting up Nextcloud AIO container set and so far the experience has been pretty good. I do occasionally have to go and do the update manually but the AIO interface makes it pretty straightforward.
The limitation is that I don’t have a very strong machine to host it. I have cheap VPS with only few gigs of RAM so I could give 2G to the nextcloud machine, which prevents me from enabling the more resource-hungry features, on the other hand the base NextCloud with caldav/carddav (which really is all I need) works fine.