Sorry, maybe a weird question. But I am gonna acquire a nice server soon and am interested on how to manage that. I want to run stuff like a webserver, matrix server and just a lot of cool stuff. But how do I approach that on a software level? Any tips would be nice. Thanks
Docker-compose and a terminal is how I do it. Its simple and effective. I’m able to manage ~20 services that way.
I use Unraid (an OS). Really liked it for the last few years I’ve had it.
@majestix
Docker-compose works well enough that I can’t see anything wrong with continuing it’s use or moving to a different system.Docker and portainer. Works good for me as a newbie 😄
Check out Proxmox hypervisor. Currently running it on an Epyc server I peiced together. Running a dozen or so VMs and a multitude of lxc containers. PfSense routers, docker stacks (I prefer portainer to manage these), Home Assistant, proxy manager, dns server, cloudflare tunnels and game servers, Proxmox easily manages it all. At a cost of $0, its worth checking out.
I also run Proxmox but I added Terraform, Ansible, and Gitea Actions so I can automate the updates and deployment of all my VMs.
I don’t even run docker. I just run the Debian packages.
I run a Kubernetes cluster across 3 different servers (nodes) + one small control plane server.
I run vanilla Kubernetes on 4 worker nodes and 3 control planes for high availability.
Unless you’re some freak who enjoys K8S so much you don’t want to ever get away from it, I don’t recommend it
Professionally I am an “Architect” and not much involved in system config (anymore), what I describe below is how I do things for my own, private, servers: Not a big fan of docker, it too often means “cobbled together by a dev not understanding security implications” aka “Institutionalized ‘works on my machine’” (of course there are exceptions!). Generally I like using Ansible, because it feels close to how I learned things (ssh, manually), while still making things reproducible (Infrastructure as Code). But, again, not too big a fan of using other peoples “roles”, because you never know how well they actually understand what they’re doing. I read them for a rough understanding, but usually opt to write my own, based on careful reading of a given software’s config manual.
I run as much as I can baremetal on Debian. If I can’t do baremetal I use podman on Debian.
I use unRAID + the docker compose plugin. The main advantage is that hardware updates are super easy:
-
Turn off
-
Replace motherboard and CPU with a completely different one
-
Turn on
(4. If hardware is passed through to a VM, reconfigure the XML)
Done, it just works, so I can just scavenge free hardware from work. Only this year I did AMD>Intel>AMD with very different CPUs and it didn’t bat an eye
-
OMV on one. The other I use Lazydocker. It’s excellent