Self-hosted Weekly #1

Welcome to the first issue of my newsletter! The overarching topic of this newsletter will be self-hosting. May it be concepts, tools to help with self-hosting or applications to host.

But what is “self-hosting”?

Self-hosting can be defined as the practice of hosting services and applications yourself, instead of relying on existing public services. These services could then run at your own home (on a small server, NAS or even a single board computer such as the Raspberry Pi) or on a rented server somewhere in a datacenter. Some definitions would exclude the use of external servers and only make it “true” self-hosting, when your services run at your home, but I would not go that far.

A very much talked about topic of the last weeks has been digital sovereignty and the ability to self-host your services is an important piece in achieving full digital sovereignty.

The decision for self-hosting is rarely a simple yes or no, it's a process that does not simply stop once the application is installed. Apart from just getting the desired service running, one also has to think about security (secure access, but also monitoring for vulnerabilities), backup and restore and general maintenance (updates and upgrades).

Companies providing big SaaS applications, for example, not only take care of installation, security and maintenance for you, they usually also have vast resources in computing, maintenance and development. So one has to be aware that going self-hosted does usually not only mean less convenience because you have to run your services yourself, but it often times also means less polish and features when comparing to these big companies.

But still, venturing into self-hosting is a great learning experience and when you have the desire to learn how to properly setup and manage services it will be the only way to know with 100% certainty where and how your own data is stored and processed.

Some more resources

Before finally diving deeper into this first topic I would like to give a small shout out to a few other newsletters that already deliver weekly linklists directly to your inbox. All three of them are sent over the course of Sunday.

  • cron.weekly is a newsletter about Linux, open source & webdevelopment. It features new open source projects, practical guides & tutorials and news.
  • Devops Weekly is weekly newsletter with news, tools and events from the DevOps space.
  • DevOps'ish is a weekly newsletter assembled by open source contributor, DevOps veteran, and CNCF Ambassador Chris Short.

Platforms for (easier) self-hosting

As said before running services can be a lot of work, but luckily there are solutions out there that can simplify this a bit.

One platform is the Univention Corporate Server (UCS). UCS is a linux distribution based on Debian. It has the aim to provide a platform for businesses to provide identity and directory services for their local network. On top of that UCS provides an “App Center” to easily install, configure and update applications.

Another platform I am using is Cloudron. The focus of Cloudron is to provide services from a single cloud hosted server. Similar to UCS it is providing an app center from which users can choose apps to install. After the app has been installed the base system will automatically take care of retrieving ssl certificates and doing regular backups. Cloudron recently introduced support for using an external LDAP tree to manage users, so both solutions can now be used in tandem.

I am actually running both solutions for quite a while already (in addition to installing applications on Debian and Ubuntu hosts) and each of them has their strong and weak points, but they are certainly better than starting from scratch.

Awesome-selfhosted

Awesome-selfhosted recently got its own organisation on Github, but has been around for quite a while already. While I don't always agree with their definition of “awesome”, the list itself and its issue and pull request tracker always serve as good inspiration.

Introduction to Docker for the non-technical

In my opinion containers are an essential tool to achieve self-hosted bliss. Containers help to isolate applications, so that you do not run into conflicts on ports and dependencies. A good container also makes initial setup and configuration much easier. Docker explained visually for the non-technical gives admins not yet familiar with the matter a first introduction.

Updates

  • Proxmox 6.1 has been released in the beginning of December. Proxmox is a platform to run full fledged virtual machines via KVM/QEMU as well as containers via LXC. A solution equally suited for small home labs and large scale business deployments.
  • iRedMail has reached version 1.0. I have been using iRedMail on one of my systems for quite a while, since it comes with a nice and extendable LDAP scheme (I have actually extended it to relay mails to my Kopano setup). One of the pains of iRedMail is updating as it comes as an archive of software where config files need to be adjusted manually. The author already made an ‘easy’ flavour in the past by introducing a cloud service that uses Ansible to set everything up, but at 49$ this is a pricey solution for a private service. Therefore, I am equally excited about the announcement that he will focus on some nice containers next.

I am always looking for new projects to try out! Just send a mail to selfhosted-newsletter@9wd.eu.

I hope you liked this first issue of my newsletter. It got a bit longer than initially expected and I promise that the next issue will be more compact. If you have remarks or suggestions just press reply.

Have a nice weekend! Felix