TL;DR: I’ve been thinking a lot lately about an operating system for a home server that uses existing technologies such as Fedora CoreOS, Cockpit, Podman, etc. to enable even inexperienced users to set up a home server without much effort and whose operation is as simple as that of a Fedora workstation. Preconfigured Podman containers should be installed from a kind of app store (Cockpit extension) with just one click, and no interaction should be necessary for further operation. What do you think of this idea?
The whole story
I have been using Fedora on my notebook and server for many years now. I recently showed a friend my home server and what I use it for (Nextcloud, Gittea, Home Assistant, OctoPrint and Pi-hole). He found it so cool that he also wants to set up a server. Unlike me, he has no IT background and is therefore having a hard time setting up his server with the instructions I gave him.
This got me thinking how cool it would be to have a server operating system that is as easy to use as Fedora Workstation on my notebook.
The user story
As a maker, privacy advocate, non-profit organization, small business, start-up and so on, I would like to set up a server without much knowledge on which I can run containerized workloads like a website, a Nextcloud installation, a Home Assistant setup and so on without having to worry about maintenance or backups. Ideally, I download an installation medium, flash it onto an SD card for my Raspberry Pi or onto a USB stick for an (old) computer that should serve as a server and boot from the live USB stick. On my notebook, I then start a web browser and open the setup page (something like homeserver.local) that was started on my server from the live USB stick. As with a Fedora Workstation installation, I choose a username for the server, create partitions and configure my server. After the installation, the page reloads and I see a login screen (Cockpit) where I can log in. After logging in, I get a tab called Apps. There I find a list of community maintained apps (containers) that I can install with one click. Before the installation starts, I am asked under which (sub)domain the app/service should be available. In the background, one or more containers are automatically set up for me, which make the app/service available. There is a reverse proxy and a container that creates backups of the container volumes and saves them in a location that can be set by the user. Where possible, the apps/services are preconfigured so that they can be operated securely on a home server. After installation, the user no longer has to worry about anything. The server and the containers update themselves automatically or at the user’s request.
The technology
For the implementation, I am thinking of something like a bare-metal installation of Fedora CoreOS with Cockpit. The App Store could be realized via a Cockpit extension. The applications are preconfigured Podman containers that can be loaded from a repository and started with a single click. Cockpit already offers many options for the rest of the system configuration, like e.g. user management.
The question
What do you think of this idea? Do you think something like this would be useful? If so, do you think that Fedora CoreOS, Cockpit and Podman are the right tools for this or would it be better to choose a different basis? Does something like this perhaps already exist? Would anyone like to work on this together with me?
I am looking forward to your answers.