hpc.social


High Performance Computing
Practitioners
and friends /#hpc
Share: 
This is a crosspost from   Computing – thinking out loud works in progress and scattered thoughts, often about computers. See the original post here.

Self-hosting shenanigans update

For a while, I’ve been hosting a number of personal-use-only services on a few Oracle Cloud Ampere instances. Annoyingly, though, Oracle recently halved their “always free” limits — and also got a lot more aggressive about reclaiming instances it thought were sitting idle. Which, you know, my instances mostly were, since I was the only user.

Since I had some free time this weekend, I decided to “repatriate” my cloud-hosted services back to on-prem — where “on-prem” is the DGX Spark sitting in my office. 😉 And that seemed to call for an update to my old post on self-hosting.

Overall, my self-hosting rationale from the old post is still true. I self-host a service if:

  • Self-hosting is going to add a capability that’s difficult to find in a SaaS alternative. That might be privacy, or extra compute, or just an extra degree of customization that I want.
  • I find it interesting or amusing to self-host it! I have been a professional sysadmin, and ran production web services for over a decade. So I enjoy messing around with servers, and can have a fair amount of fun with this.

From an infrastructure perspective, my current self-hosting platform is an NVIDIA DGX Spark that I use as a development workstation. I mostly treat it as a headless server and access it over SSH or HTTP; while I think there might be a connection between the Spark and my desktop KVM switch, I haven’t actually used a keyboard or monitor with it directly in many months.

(Do I worry about reliability for this? Not terribly. If anything, my local setup has been more reliable than Oracle in recent experience…)

Tailscale continues to be a load-bearing part of my setup, even more than it was before I started moving things locally. At this point, I don’t think I actually have any personal-use services with endpoints on the public Internet. Instead, I access them entirely via Tailscale from my own devices or my family’s.

As for what I’m hosting right now, the major self-hosted open-source services running on the Spark are:

I also have a few smaller, more personal services running here:

I also frequently run smaller, more “throw-away” webapps here to solve short-term problems or curiosities. For example, since I joined a quantum computing company, I have a janky webapp for visualizing the Bloch sphere which helped with some early learning. These sorts of apps generally get built in an afternoon, I play with them for a few days or weeks, and then thrown away. One of the handy things about a good self-hosting setup is that the activation energy for these experiments is low!

Let’s see, what’s left for implementation details?

A few services got dropped in the transition, including a Fediverse instance, an IRC bouncer, and a Matrix server. Some of those may get resurrected at some point (e.g., the IRC bouncer), but none of them were in anything like regular use so I wasn’t sad to sunset them.