Hacker News new | ask | show | jobs
by markstos 1498 days ago
The challenge with self-hosting is maintenance. The more complexity and more dependencies, the more maintenance.

I believe that’s why the author was avoiding NextCloud.

2 comments

Here's what you need to run a small NextCloud server:

* linuxserver.io container

* redis instance (enormous speed-up. Really, do this. Running a redis container is very painless.)

* use SQlite for the backend DB (unless you have a huge number of files)

* disable every module/plugin you don't NEED

Run a cron script that periodically fetches new images, kicks over the container, and purges old images.

Run another script that periodically tries to run updater.phar in the container, or notifies you when there's an update, or subscribe to the nextcloud RSS feed, etc.

I recommend overriding the defaults for deleted file behavior and versioning. Most folks don't want or need deleted files hanging around until 50% of your disk space is used, for example. The versioning defaults are fairly reasonable IMHO, but I decided I didn't care about anything past two months. Some folks who have lots of fast changing files will probably want to tweak the retention policy because it will save second-by-second versions for a few minutes to an hour (I forget exactly) and that could generate a lot of IO and SSD wear unnecessarily.

Done! I was dreading switching over from syncthing but it's been painless, and the NextCloud clients are all pretty slick and Just Work.

Yeah but are calendars and contacts that complex? Or rather, do they have to be complex? Never worked on such things myself, though I'd think the hardest part would be interoperability with the big boys
Nextcloud is pretty low maintenance in my experience, at least for a few users doing fairly normal things. I've been running it for about 1.5 years (calendar, tasks, documents) and haven't needed to do anything except bump versions.
It's no somuch that, as what's in the stack: OS+PHP+MySQL+Nginx+Other Dependencies.

How often do they need security patches or major version upgrades that might have breaking changes? How often will you need to replace the current stack with the Next Big Thing?

I've been self-hosting a blog for a while. At first, I used custom software, because blogging software didn't exist (I'm that old). I switched to Movable Type, but that project withered. I moved to Wordpress, but found I was spending more time running upgrades of the core and plugins then actually blogging.

I migrated to a static site generator, Jekyll, which seemed popular would solve the problem of security updates with dynamic code. My install broke multiple times as I changed laptops and Jekyll's dependency stack went through major version upgrades. Still, I was spending more time maintaining the stack then I wanted.

Now, there have been rumblings about the future of Jekyll as well. Maybe I should switch to a single-binary app like Zola to solve the dependency hell I've sometimes gotten into with Jekyll upgrades.

This is only the history of trying to self-host a personal blog from someone whose professional career has been web hosting in some form or another. Imagine also trying to self-host email, contacts, calendars a mastodon instance and other services as well.

We can still support a more diverse ecosystem of tech by not using the dominant providers and supporting companies which use open source software which people can self-host if they want to.

I support self-hosting, but the marriage to your own tech stack involves some significant work once the honeymoon is over.