I have all my home infra on one beefy box, except for two things. These are services that I deem critical enough that I don't want them to have an outage at the same time as anything else.
Opnsense gets a dedicated mini firewall pc, and Home Assistant runs on an old intel nuc
Everyone is ok with Python. It's a reasonable choice that's well known, well understood and doesn't have a lot of negatives. There's a million libraries for it so it's easy to get started and add support for new things.
I've never met a hobbyist developer who writes Java for fun. It lives in the enterprise world mostly, and not much else that I've seen.
Yes, configuring memory to be used for zram would mark it as unavailable for kernel fs caching.
Does iostat show your disks being pegged when it's slow? Odd that performance would be so bad on those specs, makes me think you have disk Io issues maybe.
FWIW I did this with jellyfin and ended up just using a vm instead of lxc. This way I could just pass the entire device through, not have to mess with drivers in my proxmox host, and not have to reboot all my vms/lxc just to apply updates.
I have all my home infra on one beefy box, except for two things. These are services that I deem critical enough that I don't want them to have an outage at the same time as anything else.
Opnsense gets a dedicated mini firewall pc, and Home Assistant runs on an old intel nuc