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.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.
Docker and portainer. Works good for me as a newbie 😄
Yes, the shell BASH. :^)
I like the Ansible approach, mainly because I have a wide variety of self-hosted services. I’ve used Docker, but the problem is Docker is a pig when it comes to disk space. I end up having a 20-30 GB partition just to manage the packages and dependencies and spent half of my time clearing it out (via script of course) just to rebuild packages. That’s pretty much what pushed me toward Ansible, which I run from my laptop but keep up in Git.
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
Look into LXD.
I manage my server all with default command line and vim and I only use a docker container, when there is no other way to run the software.
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 use IspConfig to host websites.
OMV on one. The other I use Lazydocker. It’s excellent