1. Use GKS/EKS/LKE/DKS. dont try to setup kubernetes cluster in your server by yourself.
2. It's very simple to setup deployment, database etc. it will take a week of a decent engineer to setup your application in kubernetes cluster - end to end.
3. LKE/DKS is super cheap compared to Heroku.
4. Use github actions (free) and docher hub ($5 month to build your container images) and its very easy, all you need is a weekend.
5. IMPORTANT: It's foolish to architecture your application to fit into serverless container.