Yunohost

YunoHost (or rather Y U NO HOST? ) is a Debian-based Linux distribution with focus on self-hosting services. It features a powerful and easy-to-use web interface, which makes operating a Linux server a breeze. It also offers free dynamic DNS on their domains.

sona is self-hosted on a YunoHost-powered Raspberry Pi. However, since there is no app for Mycorrhiza (yet), it’s mainly a manual installation.

Apps

Services in YunoHost are distributed as apps. These are collections of scripts that perform installation, upgrade, and uninstallation of the software, leaving only a few settings for the user to define.

Custom apps

One can run custom apps: either static websites or full-fledged web apps

Static websites

Using a custom webapp, one can specify a folder that will be served using nginx. Optionally, a MySQL database can be created. This works good for many CMSs, like WordPress or Joomla!

Reverse proxy

One can also set up a redirect to a different web app, either hosted locally or somewhere else. One can then assign the ‘remote’ address to a previously set up domain.

It is important to note, that YunoHost likes inserting their watermark into every app in order so that one can quickly launch its dashboard. This is a weird solution for publicly available websites, but it’s easy to disable it in the respective nginx config.

Problems

Email & XMPP

Not a bug, but a thing that YunoHost does: The email Server as well as the XMPP server are on by default, and I haven’t (yet) discovered a way to turn it off. What I dislike about it:

  • ports for email and XMPP are open by default, which, if one uses UPnP, will get automatically propagated to your router

    • Solution: don’t use UPnP or close the ports altogether in the web interface

  • when performing diagnosis, YunoHost spits out an error for every domain that doesn’t have email- and XMPP-related records (which in my case is every domain)

    • Solution: manually ignore all those errors (they’re separate from the A/AAAA records' errors)

  • Email and XMPP still run in the background

    • Solution: manually disable the systemd services, but I haven’t tried it out yet; I also suspect they will be re-enabled at some time in the future

I use my Pi for local lightweight stuff only. I pay for my email hosting since my ISP’s subnet is banned, and they do not recommend hosting SMTP servers at home. XMPP is a thing I barely use, and I’m on a different server. So, I don’t need this functionality at all. I can imagine shaving off a few MB of RAM and storage by deleting said components.

systemd

2022-08-17: Trying to set up Mycorrhiza, I stumbled upon a systemd problem that I could not solve. After creating a dedicated user, I couldn’t log into their session via SSH. Logging in via SSH will not work for system users. Logging in via su worked, but I couldn’t get it to run systemd in the user mode. It may actually not be a bug, but my lack of understanding in how Linux and systemd work.

In the end, I gave up; this service runs in system mode for now. Since it’s the same for other YunoHost apps, I don’t mind.

UPnP

On 2022-08-19, my self-hosted services stopped working. For some reason, every once in a while, the UPnP feature gets turned off. I suspect this happens every time my router auto-restarts and/or every time my router establishes a new IPv4 connection, both of which happen roughly every 3 days. I just added manual port forwarding instead.

More