Why I love self-hosting
Table of Contents
This post is the translation of Warum ich selfhosting liebe.
Introduction
In addition to this blog, a Forgejo Instance and a Mastodon Instance I also host several other services. In this blog post I want to show why I love to host these services myself and why I want to convince other people to host different services for themselves and for friends and family.
My services
In addition to the services already mentioned above, I also host a Mumble Server, a Nextcloud, a Matrix Server, various Matrix Bridges and a Restic REST Server.
-
Mastodon (Link) is a decentralized microblogging platform. Mastodon is also federated, allowing different Mastodon instances to exchange short messages with each other.
-
Matrix (Link) is “an open network for secure, decentralized communication”. The ability to integrate existing communication channels such as Signal and Whats App has made Matrix an important part of my communication. Matrix is also federated, which allows you to communicate with people on other servers, just like email.
-
Nextcloud (Link) is exactly what the name suggests. A cloud. Even though Nextcloud can be expanded in many different ways using countless plugins, I mainly use it as a data storage solution. My devices synchronize files with the cloud, which means I always have the latest version of a file on every device. If I want to share files with other people, this is also possible via the cloud. Calendars and address books can also be synchronized with Nextcloud. Nextcloud also allows federation. So you can share files on your Nextcloud instance with people on other Nextcloud instances.
-
Forgejo (Link) is a self-hosted software forge. Similar to Github, Gitlab or Gitea. Forgejo can be used to create and manage git repositories. There are the features known from Github for managing issues, merge requests and much more. With the help of the Friendly Forge Format (F3), Forgejo would also like to offer federation together with other software forges. For example, users should be able to create issues or merge requests for repositories of other forges. Unfortunately, I haven’t had the opportunity to try out this feature yet, so I can’t say any more about it.
-
Mumble (Link) is an open source, low latency, high quality voice chat similar to TeamSpeak3. Even though there are fewer features than in Discord, e.g. no screen sharing (Mumble specializes in voice chat), the Mumble client requires considerably less resources compared to Discord. In my test, it used approx. 105MB in idle mode, while Discord used approx. 914MB in idle mode. During a call Mumble used about 146MB and Discord 1242MB. However the real reason why I run a Mumble server is that I don’t use proprietary software from companies that sell the (meta) data I generate when using their application to advertising networks or other organizations.
-
Restic (Link) is a modern backup program. Restic is characterized by encrypted backups and efficient storage with compression and deduplication.
A word of warning
As much as I like self-hosting and try to convince other people of it, I also think that you have to be open about the disadvantages of self-hosting. This is the only way everyone can form a comprehensive opinion.
For this reason, here is my warning on what you should consider if you want to start self-hosting.
-
Time As the name self-hosting already suggests, you have to take care of everything yourself. From server maintenance to updates and backups, you are responsible for everything yourself and that takes time. Reading through release notes to find out if you need to adjust configurations when updating, learning about new services you want to host, everything takes time that you should have if you are self-hosting.
-
Security As you are responsible for the services you host yourself, you are also responsible for their security. If you are not also working as an administrator, you have less time to deal with everything as comprehensively as professional administrators do. For this reason, self-hosted applications will probably not achieve the same level of security as professionally managed servers. However, it should also be mentioned that a private individual’s self-hosted service is probably less interesting for attackers than, for example, the cloud of large providers (cost-benefit ratio). In addition, the software that you host yourself will mostly be free software, which means that you will often fall back on free & opensource software (the “free” in opensource does not stand for free beer, but the free software that you host yourself is often also FOSS) and thus you get all the advantages of opensource software and the more transparent handling of vulnerabilities in these software products compared to proprietary software or services.
-
Data loss Another disadvantage (which partly overlaps with the previous point) is the risk of data loss. Since private individuals do not have the same options for creating and storing backups as large providers (not the same enterprise hardware, offsite backups at different locations, etc.), the risk of data loss may be higher than with large providers. This does not mean that you cannot protect your data with the same level of security as the large providers, but it is associated with greater personal effort and, depending on the measure, more expensive.
But why self-hosting now?
The list of services probably already reveals a common thread. For me personally, the following points in particular are decisive for self-hosting services:
- learning
- federation
- decentralization of the Internet / independence from providers
- control over own data
Self-hosting offers a great opportunity to learn. I have learned many new things since I started hosting myself. From the general administration of servers to various tools such as Ansible to certain software components and protocols such as LDAP. The great thing about self-hosting is that you can try out lots of new things. For example, LDAP for the number of users on my server is like shooting sparrows with cannons, but with self-hosting there is no one, except perhaps yourself, who raises their eyebrows regarding the cost-benefit ratio. Apart from the fact that the knowledge you gain through this should be included in the cost-benefit calculation, which (in my case) makes it right again.
In addition, hosting federated services in particular helps to remove the Internet, even if only a little, from the influence of individual companies. Federating is important because it makes it possible to build and use services together with others without giving control of the service back into the hands of a few. This prevents monopolies and keeps control in the hands of the majority of participants.
By hosting these services myself, I am also less dependent on providers such as WhatsApp, Signal or Twitter/X.
But the most important point why I host services myself and recommend it to others is the control you get back over your own data. Especially by self-hosting Matrix, Mastodon and Mumble, a large part of my communication no longer takes place via closed platforms that collect my data to sell it.
Summary
Overall, I can therefore highly recommend self-hosting. If you see it as a hobby and have fun learning new things and playing administrator, the time aspect is no longer that important. If you always keep the software up to date and have a good backup plan, the security and data loss issue is also managable. In return, you regain control over your data and can create an independent and decentralized alternative to centralized services (which are controlled by a few people and companies) through federation together with other people.
What is your opinion on self-hosting?
Do you also host services yourself and if so, which ones?
Feel free to write me on Mastodon or send me an e-mail.