Hacker News new | ask | show | jobs
by akkartik 1612 days ago
The question I have whenever I see something like this is what the upgrade process looks like. How much time do you spend per month upgrading dependencies, how many mailing lists you're subscribed to, etc. When the log4j thing blew up, how long did it take you to gain confidence that you were no longer impacted?
3 comments

Doesn't really matter, as long as it's fun. Some people play games, so people enjoy re-configuring their setup (I do enjoy it too). It's not a business / prod env setting.
Yeah, that's totally fine. I ask in case someone has thought about it, so I can learn from them.

Doing just the fun parts of self-hosting will not get you to infrastructure.

(Repo onwer here) The upgrade process can mostly be automated (for example using Dependabot). I haven't configured it yet, but that's on my TODO list.
What languages does it depend on so far? Do you try to minimize the number of language eco-systems you rely on?
Yes, I aim to keep the amount of languages and tools I use to a minimum:

- For simple scripts, use POSIX sh

- For more complex scripts, use Python

- For the same sort of task, use only one tool (e.g., only use Ansible for configuration management, don't mix in Puppet or Chef)

Awesome!

I was thinking more about the user-facing apps you use. Scanning https://github.com/khuedoan/homelab, Gitea is Go, Grafana is Javascript (approximately), Element is Javascript, Dendrite is Go, Vault is Go. K8s itself is Go. Are you planning to run your own email server?

Now I find myself wondering what app choices exist if one were to try to constrain oneself entirely to operating in the Go eco-system, with Javascript only for web clients. That would be quite parsimonious.

Ah, for user-facing apps I prefer Go or Rust for their performance, although it's not a hard requirement.
<3

You're fighting the good fight, keep it up.

Probably no worse than the alternatives. Just about everything is going to be easy to upgrade except possibly the Kubernetes masters (and even that isn’t so bad if you can spare a bit of downtime).
For sure no worse than the alternatives. I also don't care about downtime. But I'm looking for something that minimizes the overheads over not self-hosting.

I'd love to prove Moxie Marlinspike wrong that "people don't want to run their own servers, and never will." (https://moxie.org/2022/01/07/web3-first-impressions.html) This is the key bottleneck in getting people to run their own servers.

For sure. There’s not much of an economical argument for self-hosting—if you’re doing it, it’s almost implied that you’re doing it for fun. Although having run a small (but really scaleable c/o k8s) homelab for <$2/month, I’m not sure I’d save much effort versus using some PaaS or cloud provider now that I know what I’m doing. Like I’d need a real load balancer and a few other things so we’re talking < ~$100/month to productionize.
I still believe :) I'm looking not for an economic argument but for a strategic one. I think[1] a self-hosted setup with minimal dependencies can be more resilient than a conventional one, whether with a vendor or self-hosted.

https://sandstorm.io got a lot right. I wish they'd paid more attention to upgrade burdens.

[1] https://github.com/akkartik/mu

Fine, take my upvotes. :)

In all seriousness, that’s an interesting perspective that I hadn’t considered.