Trying to figure out if YunoHost is for me

Hello, I am looking into some software which can help me manage self-hosted applications and YunoHost looks promising, but I am not certain if it really is what I am looking for.

From what I understand YunoHost is two things: an operating system based on Debian, and a software I can install on top of an existing Debian. I have a VP server running Debian 12. It has been set up using Ansible and there is an Apache and Let’s Encrypt running serving a Django application for my website. I also have a self-hosted Jitsi Meet running through Docker Compose. The Apache is effectively a reverse Proxy for Jitsi.

I want to be able to do the following:

  • Host a number of self-hosted applications (e.g. Jitsi Meet, GitLab, OnlyOffice)
  • Assign them to different subdomains (e.g. meet.my-domain.com, git.my-domain.com, office.my-domain.com)
  • Host any number of my own applications (written in Django, but other stacks should be possible)
  • Host databases which can be accessed by those applications

If I use YunoHost can I keep using Ansible to manage the server setup? How is YunoHost updated? Obviously I cannot use my OS package manager for manually installed software. As for my background, I want to set up a server suitable for a small business. The server itself will not be hosting any product, it will just host the website and any tools which are used internally.

1 Like

Host a number of self-hosted applications (e.g. Jitsi Meet, GitLab, OnlyOffice)

Yes, these are available in the catalog.

Assign them to different subdomains (e.g. meet.my-domain.com, git.my-domain.com, office.my-domain.com)

Again, yes, YNH can manage multiple domains.

Host databases which can be accessed by those applications

YNH internally manages databases needed by apps so yes, but migration from your current setup might be a bit more involved.

If I use YunoHost can I keep using Ansible to manage the server setup?

Unlikely, YNH provides its own means of managing the apps.

How is YunoHost updated?

On demand or automatically (in terms of debs) if you install unattended-upgrades and manually in terms of apps, whenever an updated version is available in the catalog.

As for my background, I want to set up a server suitable for a small business.

This is an usage pattern that happened before and, to my knowledge, there do exist companies that provide (paid) support for such setup, but don’t take my word on that.

So, to answer your initial question, YunoHost might be the solution for you given the use case you described, but no guarantees. Still seems more externally maintainable than deploying a set of Docker images :wink:

I never used ansible before but I guess it won’t be possible or it will make things complicated.

Yes, easily

YunoHost uses nginx

YunoHost manages certificates automatically

There is a “system update” in the webadmin. It updates debian, yunohost and applications. You can update applications one by one or all at once. Application update creates a pre-update backup automatically and in case something goes wrong, it restores the pre-update backup.

You can test it in a virtual machine or a small vps to understand how it works.

1 Like

So if I understand correctly YunoHost effectively takes over the operating system. If I cannot use Ansible, what is the YunoHost way if saving and restoring the server configuration? What I like about Ansible is that I can describe the server setup in a file, and then if for whatever reason I have to throw away the server I can restored its setup again.

Would it be possible for YunoHost not to take over the OS? By that I mean install it somewhere, have it running on localhost and use my own reverse proxy and Let’s Encrypt.

Not sure to understand what you mean. If that’s having all the apps, domains, users, etc… Defined on a file to recreate the same server. It can be managed by a bash script using yunohost commands.
Otherwise, yunohost allows to create a complete system and app backup that can be moved to another server to be restored right after installing yunohost. So it will look like this : full backup on server 1 (one click), install yunohost on server 2, cp backup from 1 to 2, restore backup (one command).

You mean local network? Yes, that’s one use case.

Yes, some users have nginx proxy manager serving multiple servers.

You could have some applications running with docker and then use the app Redirect to make the nginx rule for you. I do this. I use Yunohost to make a subdomain for these docker apps.

I run a few apps like Immich

I think if you know how to use ansible, you are overqualified to require the use of Yunohost :smiley:

…unless you are finding the complexity of managing anisible too annoying. The cool part of Yunohost is how it manages users for all your apps.

(I’m currently playing with a NixOS homelab setup and setting up the LDAP or other type of auth seems to be one of the more complex things about setting up a homelab from scratch.)

Thanks everyone for your responses. I will try YunoHost on a VM first, but from what I have read here is seems like it should be what I need.

The thing is that while I do know how to manage a server, I do not want to do it all by hand. Ansible is good for getting a server up and running, but it does not handle anything past that. Updating software, creating new resources, making backups, all that is past Ansible. That’s what I hope YunoHost can take care of for me. But I still want to have an escape hatch that lets me do stuff by hand on the server if I have to.

1 Like