ᕕʕ •ᴥ•ʔ୨ Shank Space

A gentle guide to self-hosting your software

There was a time when software (and games! Games are just software for fun!) were distributed on DVD. A physical disk that you would insert into your system to load up software and install. This was the 2000's, when computers prided themselves on being personal computation devices. A Chromebook was a curiosity at the time, promising to run most of your software in "someone else's computer"; all you needed was the internet and the interface. The Chromebook was a reckoning. Through the 2010's we slowly moved into the clouds of various giants; it was the easy way to compute. The giants were renting out services - subscriptions started gaining foothold as the second best way to make money online after advertisements - and we were happy to give away the control in exchange for convenience. A minor consequence of this is that an entire generation of computer scientists hasn't had the opportunity to start off as computer enthusiasts - the primordial hacker mindset is slowly waning in prominence.

It is 2024, and I say it is time we revisited some of the fundamental joys of setting up our own systems.

Why? Good question.

So most importantly, it is supposed to be fun. A hobby.

And like every hobby there are a lot of gatekeepers. People who believe having a personal server that you can touch is a necessity to call yourself a self-hoster. Eh. Don't listen to them. Self-hosting is as much about the software as it is about the hardware. I say we get the enthusiasts by any means necessary; they will eventually grow into full-fledged self-hosting. Or not. It doesn't matter! This is supposed to be fun, why are you stopping people from having fun?

And so, here is a gentle introduction to self-hosting that is not "true self-hosting", but whatever. Sue me. We will operate at the software level only, and laugh at the feeble protestations of the rigidly-defined self-hoster loyalists. We will dispense with the heavy prose after this point.


Shared hosting

uberspace

A shared web hosting service is a web hosting service where many services reside on one web server connected to the Internet. The overall cost of server maintenance is spread over many customers.

You need a space to host. I recommend Uberspace. They are the most heart-warmingly nice people about hosting; they operate on the idea of "here's a screwdriver, try not to burn down the building, but have fun". Excellent.

So, make an account on Uberspace - did I also mention that you pay after the month ends, so technically everyone gets a free month of trial? I mean, can they get more awesome? (pst, they do).

The Secure Shell Protocol is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

Here's the cool part: you now have SSH access to a computer in the cloud with 10GB of storage and 1.5GB of RAM. Go ahead, do it now. Run ls to be greeted by your brand spanking new empty user directory.


The Software

What to do, what to install…. I will give you two resources to peruse.

You cannot use Docker in Uberspace. The memory constraints are too low to run a full virtualization suite. Which is a bummer for the larger software and docker-only installations but there are workarounds for it. You can install software from source or pull the final run-time from the dockerisation process and use it as a build image (I leave this as an exercise for the intrepid reader :)).

But what exactly do I install first?? Alright, alright. Author suggests the following two trackers - one for finance, and one for videos and website updates.

Actual Budget

actual

Have you always wanted a way to track your finances - expenditures, net worth, spend patterns, etc.? Have also been wary of putting all this sensitive information in the hands of others? What if there was a way to be in control of your data, yet have it accessible across the world via a browser?

Actual Budget is a super fast and privacy-focused app for managing your finances. At its heart is the well proven and much loved Envelope Budgeting methodology.

I use this and I have written a guide on how to install this here.

Make sure to peek into the reports section - you should be able to slice and dice your finances and gain tons of insight out of it. For instance, turns out what I considered to be minor purchases actually add up over the month, and I spend an inordinate amount of money on commute!

Miniflux

miniflux

Miniflux is a minimalist and opinionated feed reader.

There is a way to keep track of your favourite news outlets and magazines, be posted on the latest blog posts of your favourite writers. You could also build a dedicated ad-free feed timeline of your YouTube subscriptions.

RSS (Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many different websites in a single news aggregator, which constantly monitor sites for new content, removing the need for the user to manually check them.

Bonus: YouTube has an RSS feed and the embedded YouTube player is ad-free.

Install Miniflux on Uberspace. Add feeds of your favourite YouTube channels. Hop into settings and enable Fever API.

Now any RSS client which is capable of reading from the Fever API should be able to access your RSS aggregator in the cloud. If you are in the Apple ecosystem I highly recommend Unread by Golden Hill Software.

With this I have a dedicated recent first timeline of all the videos as they are released.

I also have separate categories of feed for news and comics - there is a ton of webcomics out there beyond xkcd, smbc and oatmeal - a great way to catch up is via RSS.


Bonus: Your Domain

The coolest part about self-hosting is showing off your stuff. What better way to show off your things than to have a personal domain - a place you can call your own. Head over to a domain name registrar and grab a site on the net-estate. I suggest Porkbun.

Now you have a bunch of extraordinary things you can do. With something like awesauce.com:


This has not been a detailed step by step walkthrough on how to do things, by design. You are meant to go and explore; this is simply a way pointer to invigorate your curiosities.

Here is a final reader's exercise: Figure out a way to send yourself a mobile notification when a particular item comes back in stock or website changes :D

changedetection


This made it to the HackerNews front page, head over there for some good discussion around the topic.

#devops #hacker #selfhosting #systems