I just wanted to say thanks to Deven for outlining that sweet 'suite' of modern team and operational tooling.
That list covers a LOT of territory, with minimal overlap.
A vetted list like this, covering most requirements for modern software development, is quite valuable.
No two toolchain assemblies are the same, but having a detailed example just one that is working for a team gets you in the game almost instantly.
Self-hosting can be a giant hurdle to many - and can mean different things to different people. But reducing toll-charges for compute, storage, and access is critical for any small operator (like most of us).
With the cost of software creation being driven to zero, the next bottleneck is the cost for [ basically everything in that toolchain ]. Driving that down will reduce the hurdles for projects and justification for passion-projects is easy.
The best $300 I ever spent was on a refurbed Dell Opti-something with decent RAM, and a 2TB hard drive - and then spent a few hours with a Proxmox tutorial.
Basically VMWare, but easier. Now I can create a working machine (any OS) for any toolchain element or open-source project I want to play with in like 2 minutes.
It's like having your own data center in the basement.
When you get to the point where you want to share something with someone - tailscale (funnel) will give the endpoints a public ip address.
If you think it's ready for production hosting outside the basement, run that Docker stack on a Droplet, easily, using portainer.
(There are many variations to that path - that's just the one that I've used.)
One of the nicest features I have recently experienced with AI-assisted development, is being relieved of even building out the VM.
Provide the harness with the credentials of the proxmox box, and it builds it for you.