So I just got myself a new computer. A brand new Starlabs Bytes Mini. I was able to fix the laptop it was supposed to replace, so I’ve been told the Bytes Mini would be a good home server. I know nothing of the subject so I was hoping for some advice. Server distro? I’m partial to Fedora but for all I know their server distro might suck. How do I host stuff like Nextcloud, Onlyoffice, Bitwarden etc? Would something stable like a RHEL clone work for self hosting or just business stuff? Any good resources to turn to? The specs for the computer are below, any advice would be greatly appreciated.
Starting out I wouldn’t be too concerned over getting things perfect because “perfect” will be a moving target based on your needs, developing skills and how that relates to all the ways something can be deployed.
I’d try to keep things light so you can skip around technologies and OSs till you’ve gotten a nice foothold where you’re enjoying yourself.
A very important skill will be learning how to backup and restore data you’ve stored in services in a generic way so you don’t get stuck using baremetal, flatpak, snaps, podman, docker, vm, or some other deployment technology that might not satisfy you long term. Beyond that you’ll be drowning in guides for how to deploy these services in lots of different ways all with their own pros/cons. Don’t worry about it too much, if you can generically backup/restore you’re a free bird.
If you want life to be easy, i’d just use desktop Ubuntu or Fedora starting out and move to the server versions or Debian, RHEL, Alpine Linux later if/when it makes sense and when you’re comfortable using straight CLI.
you aint lying about the holes one can fall down looking at deployment methods. looking up Docker, Kubernetes, and Openstack have broken my brain.
My goal mainly is to host a Nextcloud, Bitwarden, Jellyfin, and Onlyoffice to administer my family and homestead. a VM or two would be nice so i can keep training my linux and code skills. lastly play non heavy steam games since my laptop would blow up trying to display on a TV.
I assume self host app’s are different than their desktop counterparts but how does one manage, launch, and interact with the applications? I’ve heard of browser dashboards like homer, and cockpit but don’t know how those work. If I “dnf install bitwarden”, will it download the server version or do i need to learn how to run a docker image or something? I’m probably over thinking this lol
For someone new to this, I would recommend Ubuntu’s latest LTS. If there are particular projects you want to run on it, then look at the requirements for those projects. That narrows down your choices for you.
As for self-hosting, here’s what I would do:
Setup whatever distro of Linux you choose. Make it your KVM Hypervisor. Using something like virt-manager, you can setup multiple virtual machines, each running whatever version of whatever distro you need for each of your projects. In this way, you can have each project running in a separate virtual machine, running the OS version that it supports. This is what I do, and I arrived at this solution after trying many others. In some number of years from now, I may use another method, but this one works for me.
My KVM Hypervisor is Arch Linux.
My 3CX Phone SBC is a virtual machine running Debian.
My firewall is a virtual machine, and it runs FreeBSD (OPNSense).
My work desktop is a virtual machine, and it is Fedora 36.
I also have some projects that run on Ubuntu.
So, the answer might be to remain flexible, and don’t paint yourself into a corner.