Please allow me to ramble a bit about a Fediverse post I saw around this time last year, and a few blog posts discussing self-hosting as a solution to the dominance of big tech.
It all started with this post scrolling through my timeline last year.
Are there any guides on self hosting for complete beginners out there? Especially those that have choice paralysis and care about privacy.
Ones that walk you through buying a domain name, setting the DNS or whatever it’s called for it, setting up a hosting server (and which to choose), what OS to use on it etc? Or are you just expected to know all this?
We tried a while ago but nobody could figure out how to help us set it all up so we gave up.
Such a guide would be great though.
So I thought to myself: Well, I’m a Homelabber, and I like writing. And I didn’t actually know any kind of beginner’s guide to self-hosting.
How difficult could it possibly be?
Well dear reader, I read the above post about a year ago. And as you might have noticed, I’ve not actually put out a nice Beginner’s Guide to Self-Hosting on this here blog in the meantime. And that’s not for a lack of trying. At all.
I just found that I can’t. For the life of me, I just couldn’t write a guide. This is the eighth! draft of this post. Every attempt I made fell into one of three categories:
- WAY, WAY too detailed. As in “I’m 30 minutes of reading time in and haven’t even finished the OS choice part yet”.
- Way too little detail, thinking way too often “everyone knows this, surely”
- The worst kind, where I basically came over like the most arrogant “Why not use GNU/Linux?” FOSS-bro you’ve ever had the misfortune of meeting
Particularly the two drafts which ended up in category three were extremely jarring to read. They genuinely left me sitting there thinking really hard about whether I’m coming across like that in my other blog posts or my Fediverse posts.
I’m desperately hoping I don’t.
All of these attempts were extremely frustrating. I’ve been Homelabbing/self-hosting for about 15 years now. Why can’t I put together a nice, readable guide for absolute beginners?
I think the problem is that I know all of this stuff. And have known at least the basics for over a decade now. And I somehow fail to find a healthy balance between attempting a complete brain dump and leaving “important” things out.
So I’m admitting defeat. I’m not the person to write a beginner’s guide to self-hosting.
But I also haven’t given up entirely yet. While I might have utterly failed to write an absolute beginner’s guide, I still believe that I could write a good intermediate guide to self-hosting, where I don’t explain absolutely everything, but rather just write up some of tools I’m using and some basic decisions which need to be taken.
And if you’re an absolute beginner in self-hosting, this doesn’t mean you’re out of luck. Because Elena Rossini, a European filmmaker, photographer and writer, is currently writing a series about her recent foray into self-hosting.
The three posts she’s written in her series are already better than all of the drafts I’ve done over the past year.
Individual Self-Hosting is no solution to big tech dependency
There were a couple of posts in the past year about how individual self-hosting is not the solution to the issue of big tech dependency.
The main post was this one. It starts out with the issue of Amazon preventing manual downloads of books, and the author then setting up a new home server running Immich, Calibre Web, Audiobookshelf and Jellyfin, concentrating on self-hosted local media.
But the conclusion is not that we should all run out and start self-hosting all the things, individually:
And this week, I want to share with you how I did it, what I learned, and why I think self-hosting is NOT the future we should be fighting for.
And I broadly agree here. To me, self-hosting is a hobby. I like tinkering. I intentionally spend time on my Homelab to relax, just for the fun of it. So I’ve got more than enough time to maintain all of the services I’d like to run. But, as the above post points out very correctly, all of this takes time. Even more so once you’d like to not only use your services internally, in your home, but also have the ability to share stuff with other people. Because then you get into issues of compatibility with what the majority of people are familiar with, and also into the increased complexity of hosting public-facing services.
Specifically on this topic, there was also a Fediverse post I disagree with quite severely:
At the individual scale, self-hosting is not a good way to “be in control of my data.”
It’s like saying I do a vegetable garden to be in control of my food. I need much more than I can grow, it’s an inefficient use of my time, and I’m one bad season away from losing it all.
Resilience and transparency are key to be in control of my data and I can’t achieve this alone. This is a social problem, we need to bring solutions as a society.
I do believe that self-hosting is a good way to be in control of my data. I’ve been doing it successfully for over a decade now. The only major thing I’m not currently self-hosting is my email, and that’s coming soon. It is possible, given enough time and the right skills.
I also dislike the comparison to being food-independent. I grew up on a farm. There’s exactly zero chance you get to be food-independent as side gig. But we don’t even have to get into the time investment or tooling. Just looking at the amount of land that would be needed makes it clear that it’s not possible for anyone who doesn’t make it their main job. We had around five family members engaged in our part-time farming. We had a few fields, and for most of the time a few pigs that we even slaughtered ourselves. But we weren’t even remotely food-independent. I think the only things we never bought were potatoes and peas, and that’s about it. Even though five people, three generations, were involved in the farming, all as a side gig.
But: This leads me to the main part which rubs me wrong about the Fediverse post: The absolutism. Both for food production and self-hosting. It’s something which rubs me the wrong way in some corners of the Internet at the moment, mainly in discussions about boycotting US products or discussions about online privacy. There’s way too many people for whom it has to be either perfect, or it’s not even worth doing at all.
And that’s just not true when it comes to replacing big tech services with self-hosted alternatives. There’s still a considerable win in replacing e.g. Microsoft OneDrive with a Nextcloud instance, even if you’re continuing to use Google for email. It’s still a win when the only thing you’re self-hosting is Immich to replace Google Photos. There’s already advancement in using Signal instead of Whatsapp. Switching to GrapheneOS isn’t necessary for more independence from big tech.
Who does the self-hosting?
The original blog post asks a central question: If it’s not individuals, and it’s not big tech, who does the self-hosting? The author starts out with a nice metaphor for “Everybody self-hosts their own stuff”: The suburban internet. Everyone has a server in their garage, and they’re all independent islands of services. I find some fault with the “islands” definition here, because today that’s not necessarily true. For example, Nextcloud instances can federate. So can Fediverse instances for social media, Matrix servers for messaging, even identity providers like Keycloak have federation capabilities. So I don’t think individual self-hosting would necessarily have to lead to islands or silos.
But the rest of the argument holds: You’d still have to have every individual, or at least every family/friend group, learn the necessary skills for self-hosting.
The solution the post proposes is a more communal approach, where for example libraries would provide some basic services for every member. And I like this idea. What comes to mind is my time at university, back in the early 2000s. After joining, everyone got a free email address, some web space for simple tilde hosting. For CS students, there were additional services like an SVN server and an issue management system.
The one counterargument I would voice: At least here in Germany, the state, regardless of level, isn’t exactly known for the success of its IT projects. In fact, one more: At least here in Germany, we’re seeing how the federalized system leads to every state doing its own thing. It is not too far-fetched to believe that some sort of “citizen cloud” program would similarly lead to silos which can’t talk to each other.
But as I’ve noted above: While I do think self-hosting everything is perfectly possible for certain people, it is not on a societal one. I can do it. Because it’s my main hobby, and the skills I’m gathering there are also valuable for my dayjob. Similarly, the stuff I do in my dayjob is also sometimes relevant to my self-hosting. If it was just a means to an end to me, I would be self-hosting a lot less, if anything at all. And not even remotely as well-configured as it is.
In A circle-hosted future, L. Rhodes describes a slight variation on the community-hosted idea. Here, the author proposes smaller hosting groups than libraries or governments, for example families or friend groups. This would avoid tying yourself to the state instead of big tech. But it would of course have downsides, as any circle would then have to know somebody with the necessary technical skills. Rhodes also points out what’s really the main obstacle in all of this, regardless of whether it’s libraries, universities, the state, big tech or your buddy doing the hosting: Trust.
Unless you have the skills to do it all yourself, you will have to trust somebody. I would very likely be able to trust my buddy the most. For others, it might be the government, even if just their municipal government.
What about associations/clubs?
One point which both Rhodes and Lyton bring up only in side notes are associations or clubs. Please note that the following is from a German perspective, I don’t know how clubs and associations work in the rest of the world.
In Germany, associations (Vereine, in German) are well-regulated, enjoy some protections for their activities under the law and also enjoy some tax benefits. They need to have a democratic structure to be recognized, and basic services like banks have lots of experience with catering to their needs. They can own things as a legal entity, in this case e.g. all the necessary equipment for hosting services. There are also well-established mechanisms to pay members for services rendered, e.g. if somebody hosts the club’s infrastructure in their basement.
They have the advantage of being NGOs, so you don’t have to put your trust into a state-provided “citizen cloud”. At the same time, you’ve got direct and formal influence over the club’s dealings, which you wouldn’t have if the services were provided by libraries or universities.
I’ve also got some personal experience with an association, specifically a German shooting club (Schützenverein). For those not familiar with the concept, they are something of a combination of a sports shooting club as their main activity and a bit of a “traditions club” if that makes any sense? Their main activity is as a sport club for air rifle shooting. Although these days, many clubs also have crossbows, due to some really weird pieces of gun legislation when it comes to young children. 🤷 My main point being: As shooting clubs, almost all of them have a piece of shared infrastructure, their shooting range, which is managed by the club, and in large part maintained by the diverse skills of the club members. Hence, why I think that they’re a viable model for running some sort of shared service infrastructure.
Finally, there’s also their openness, when compared to small circles like friend groups or extended families. You don’t actually have to have a friend or family member who has the necessary skills for self-hosting, you can just join the local “local services” club and pay your dues.
One great example of a service-providing German association which is known beyond Germany is Codeberg. They’re providing a hosted Git forge experience somewhat similar to GitHub, but in the form of an association instead of an LLM slop producing leech.
In fact, having written the above, allow me some whishful thinking: An association which provides a co-hosting space. For people without a garage/basement, who don’t want to put their racks into their living room. With a couple 1 Gb/s fibers coming in, perhaps a bit of cooling as well? And a few work benches and tools to as a space to work on the machines.
What I’m planning
Since waves around wildly got as bad as it is, I’ve been thinking more and more about what I can do to improve my local community. And as the only useful skill I have is Homelabbing, I’ve been thinking for a while now how to make that skill useful on a wider horizon than just myself. Especially considering that I’ve already got the substrate up and running. There’s storage, there’s a web server, there’s an entire k8s cluster, and there are backups.
So what would I need?
- Some interest. I’ve got no idea whether anyone who trusts me would actually be interested
- User management: If at all possible, I would like to go via Keycloak, which would likely need a new instance, as Keycloak doesn’t seem to be able to separate client access per user
- Facilities? Right now, I’m hosting my stuff off of a 250 Mb/s down, 40 Mb/s up connection, with the hosts sitting in my living room
- Offsite backups
- Public docs
- A general idea about which SLAs I could provide
- A general idea about which services I would provide
- I’d probably avoid e.g. Mastodon, just because I don’t think I’d be any good at all as a moderator
Thoughts to mull over for the next few months.