In my case I wanted to separate my services between the ones accessible from the internet (git. lemmy) and not (bitwarden, *arr). To do this I need 3-4 VMs. I went with proxmox for the backups: you just define retention policy and that’s it. Promox drops backups of VMs automatically keeping the right amount of old versions. If you don’t want to split your services and you’re fine with just one VM I think you can easily go with pure debian. I did have some issues with proxmox (like failing network card, it required some fiddling) so it’s not “free”. There’s some extra work to get the benefits.
And I think having everything in one VM is also fine. I’m only splitting it because I want to have some things accessible from the internet. If not I would just use docker for everything.



How are you accessing all of it? Custom URLs? Reverse proxy?
Forgejo is for private projects only? Are you syncing them with some other git providers? If now how are you baking it up?
This one was the most tricky for me due to HTTPS but I finally got it working on desktop and android.