I want to reset my server soon and I’m toying with the idea of using a different operating system. I am currently using Ubuntu Server LTS. However, I have been toying with the idea of using Fedora Server (I use Fedora on my laptop and made good experiences with it) or even Fedora CoreOS. I also recently installed NixOS on my desktop computer and find the declarativeness pretty cool (but I’m still a complete beginner) and could imagine that it would fit well into a server setup.
I have quite a few services running on my server, such as Nextcloud, Conduit (Matrix), Jellyfin, etc. and all in containers. I would also rather not install programs without containers, because 1. compose is super easy to maintain and set up, 2. it remains very clear with containers (and compose) and 3. I believe that containers are more secure. But since I also want to make the services inside the containers available, I currently have Nginx installed as a reverse proxy (not in the container, but on the system) and always create certificates with certbot so that I can use HTTPS encryption.
In the paragraph above I actually described exactly the use-case of Fedora CoreOS, but I have no experience with the system and how it works. That’s why I’m still a bit hesitant at considering the OS at the moment. I can imagine that NixOS with its declarative nature seems well suited, since, as I have heard, you can configure containers as well as Nginx and with Nginx also https certificates declaratively. But I could also use a base system like before (Fedora Server or Ubuntu Server) and simply install podman, nginx and certbot and manage everything that way.
Have you had any experience with Fedora Server, Fedora CoreOS, NixOS or a completely different operating system for servers and what are/were your impressions with this setup? Or do you just want to share your knowledge here? I would be delighted.
Proxmox.
Each service becomes an LXC. Docker containers can be migrated to LXC, or be contained within an LXC dedicated to docker.
Running out of processing power? Add another server, add to a cluster, and migrate services (LXC or VM) over.
Having run Fedora, Debian, Ubuntu, CentOS, RHEL, slack, even Oracle Linux - Proxmox is what I run for myself (and some clients).
I don’t know if the use-case you describes fit into my problem. I only have one server and its a physical server. I’m also not really able to extend the number of servers, as I don’t really have the budget.
Proxmox is a server OS based on Debian which is oriented on running virtual machines and Linux containers.
The physical server runs proxmox. The services can all be individual containers (LXC’s).
Adding to the number of servers (and migrating containers later) is a benefit of Proxmox, since you can buy another PC to be a server later, and easily expand as you go.
I tend to not use the webui, so I prefer the similarly useful combination of Debian + Incus (spawned from the LXC project).
Sure, HA isn’t baked into Incus (to my knowledge) but similar to OP I only have one physical box and don’t necessarily care to manage multiple.
That being said, Proxmox is a good solution in the scheme of things and generally a good recommendation.
I’ve got a small fleet of tmm’s, so HA is just practical for me, but yeah that works to with a single machine. Especially if you were sharing desktop use on it.