Why You No Host?

With all these data leaks happening every other day, why have you not started self-hosting?

The title refers to the “Y U No Host” internet meme, which led to the name of “YunoHost”, an operating system aiming to democratise self-hosting. This post tries to discuss the idea that anyone can self-host and why you should consider YunoHost.

Should you Self-Host?

These are just some of the reasons to self-host.

What if you don’t know anything?

No one is born with the knowledge of knowing how to orchestrate a cluster. You can always learn how to, but sometimes you just don’t have the time or energy. YunoHost tries to ease this issue by providing a clean web-interface. You do not even need to touch the command line for all the basic tasks.

What should you self-host?

Anything and everything! The best part about self-hosting is that you own the data. This data is not going to be sold to the highest bidder.

Just because you like watching YouTube does not mean you cannot self-host a privacy friendly front-end for it on your server. Why stop there, why not create your own Google Drive / Dropbox alternative and host it on your own with actual unlimited storage, where the only limit is how much capacity you want. Do you own tons of audiobooks or DVDs/Blu-rays? Simply host an audiobook server or create your own personal Netflix and share it with your friends and family.

Do you own a small-business? Do you hate the idea of having your sensitive e-mails stored on someone else’s server? Why not setup your own mail server, with contacts and calendar syncing.

Do you run a small hobby group? Why not host a forum for everyone to discuss on? Or, simply a chat server where everyone can hop on and text, or call.

Although you can do all of this (and much more!) without needing to use YunoHost, it just makes it easy to manage.

What do I need to self-host?

What is YunoHost?

YunoHost is a server operating system which takes guesswork out of Self-Hosting. Out of the box it provides:

and much more!

Why did I choose YunoHost?

I began my self-hosting journey with a Raspberry Pi 4 (4GB). I looked at tons of options for the base management layer:

One look at the user portal and I was sold. Yep, more than the features it was the app screen which looked like elements from the periodic table which sold me on the idea of using YunoHost. 

Although there is no “correct“ way to self-host, YunoHost is indeed an easier way.

YunoHost SSO Login Screen YunoHost Portal YunoHost Web Admin

The stock Raspberry Pi image provided by YunoHost meant you don’t run in full arm64 mode. I had to first install Debian and then install YunoHost to get full arm64 goodness.

Setting up the domain was as painless as following the online web admin diagnosis page to copy paste DNS records.

The easiest way to deploy any app is to use Docker. I dislike this approach for a variety of reasons but I am not going to cover them here. All YunoHost apps are packaged to run on bare-metal for the best performance. See an app that does not have pre-compiled binaries? The package installer will download the latest source, install dependencies, compile, and then clean all the unnecessary files. Because you are running Debian after all, you can always SSH into the server and install docker if you want to. You can even install Portainer through YunoHost’s app catalogue if you really want to.

Also, YunoHost has been here for a long time! Here is an old Hacker News post about YunoHost. All the projects mentioned in the comments? Dead.

What do I self-host?

audiobookshelf - an audiobook server

Audiobook server

ergo chat - an IRC server

Screenshot of Textual Client connected to my IRC server

FreshRSS - RSS aggregator

Screenshot of FreshRSS

Gitea - self-hosted git

Screenshot of Gitea dashboard with logs about repository mirroring

Grafana - Metrics dashboard

Grafana Dashboard

Home Assistant - Home automation platform

Screenshot of Home Assistant dashboard

Jellyfin - Media server

Screenshot of Jellyfin showing movies

Listmonk - Newsletter and Mailing List manager

Screenshot of ListMonk

MinIO Server - S3 compatible storage server

Screenshot of MinIO console

Nextcloud - Storage, file-sharing, e.t.c

Screenshot of Nextcloud dashboard

Syncthing - continuous file synchronization

Screenshot of Synching dashboard

Vaultwarden - Bitwarden server

Screenshot of Vaultwarden loading screen

Wallabag - Read it later app

Screenshot of Wallabag

h5ai - HTTP server index

Screenshot of h5ai

How do I install YunoHost?

  1. Install minimal Debian 10/11 on your preferred machine
  2. curl https://install.yunohost.org | bash

Done!

Should you actually self-host everything?

Highly context dependent. I run two YunoHost servers in two different locations. One of the ISP has actually blacklisted the residential IP address range and does not let me change my reverseDNS, which means all my outgoing emails are marked as spam. On the other hand, the other ISP gave a clean static IP and the server managed for a small business is not at all problematic for emailing. YMMV but at least you know you have an option.

If you have scrolled this far, consider subscribing to my mailing list here. You can subscribe to either a specific type of post you are interested in, or subscribe to everything with the "Everything" list.