I recently ran across Runtipi.io. To deploy their apps, you click install. Then another click and you can ‘expose it’ to hook up to a domain name. Traefik handles doing the domain name. It’s a very fast process.
Also, it looks like it very easy for them to add more apps to their whole ecosystem. I read through how to add an app to their app store and it doesn’t look impossible. I think I will give it a shot, and I am not a programmer.
I browsed the docs for Yunohost packaging guide and it looks a bit more involved.
It might be neat if Yunohost had a hybrid model. Some apps work better installed into the OS, such as Wireguard, Pihole but a lot of apps are just web apps that would probably be much easier to deal with if they were containerized.
Benefits:
less people messing up Debian with a bad install
apps easier to package → more apps could be packaged, easier for people to package apps.
Debian can be upgraded faster to newer versions, less stuff should break
apps could autoupdate with something like watchtower?
Downsides:
two types of packaging standards
how to integrate docker packages into Yunohost
might require huge changes to base Yunohost, impossible?
Note, I am coming into this conversation with the best of intentions. I have contributed money to Yunohost. I love Yunohost and have learned so much about self-hosting by using it. Please don’t take this discussion to mean that Yunohost sucks or is bad in any way.
Anyways, I’m curious what are thoughts from people who are part of the core team? or people who have packaged apps for Yunohost before?
Personally, I have a hybrid model with two devices. Main server runs Debian with Yunohost and it is my first choice to install new things. Also Yunohost is more stable with Hedgedoc, Nextcloud and other apps.
But If something is not updated long time or even is not available in Yunohost catalog, I use Docker on a second device (normally it is a second Mini PC computer, but for now it is a SBC Orange Pi) with other OS (Ubuntu or Fedora) and I run these apps here. If I want to have external access to it, I use Redirect app in Yunohost to create rules in reverse proxy.
It is not the best option - in example I can’t use Yunohost backup tool to backup Docker apps and I need a second device but also it is a very stable and comfortable way - especially for me.
I believe the short answer is : no, it’s a hell of development work to integrate all this stuff and the various use cases.
Instead, when it’s available, we prefer to package apps with a native installation (which is often more reliable). Side note: One could also argue against the huge extra storage space used “for nothing” by this tool, while many users use servers with limited storage (lots of raspberries and small VPS in our user base).
That’s a design choice, and I don’t think it’s going to change in the mid-term. Other tools like the one you quoted made different choices. If another solution fits your needs better, then that’s cool for you
Also Yunohost doesn’t come with only app packaging, but a whole server admin tool set, deep integration of some apps with Yunohost tools (such as SingleSignOn and LDAP).
As for the software that don’t even provide any other installation medium/instructions appart from Docker, well, that’s the shitty current state of software engineering ecosystem that focus on developer experience before user experience.
As for the packaging, we’re currently working on a way to make it more accessible , and it’s getting simpler over time (packaging v3 long-term ongoing project).
PS : in case it’s not clear, this is only my opinion
I have also recently discovered Cosmos Cloud which is another docker based self-hosting thing.
I’m checking it out right now and so far it looks more promising, and customizable for those of us with a bit more experience with Docker. Runtipi looks like a better beginner solution for newbies.
I tried it. It is slick and I love the dashboard but I don’t want to stay with it. It’s too much of a ‘black box’.
It’s non-standard. This means it will be hard to get support for it. I don’t think the community around it is that big. That’s a great selling point for Yunohost. We have this great forum to help each other.
It does things in non-standard way. This means if I have trouble I will have to research where the files are kept and how it all works. This is much more difficult than debugging a docker-compose file that many people will be using.
How long will it be around? It is a new project only run by a handful of people.
Instead of cosmos cloud, I think people could do one of two options:
use docker-compose files and run things manually
use Portainer to create your docker-compose files
This option will be better in the long run.
you’ll learn more about docker-compose
you have more control about how your services are run and where the data is stored on your file system
you aren’t relying on a project that might not be around that long