Take a step back and simplify everything.
Personally, I just use GCP cloud functions talking to a GCP managed postgres database. I don't worry about all the deploy stuff since their tooling takes care of it for me... heck, integrate it with github actions and it is just a git push to go live.
GCP is also next to free for low tier usage. Last I looked, a tiny postgres instance was one of the cheapest out there.
Then, just put cloudflare in front of GCP and now you've got the ability to use their functions in front of GCP too.
Fully scalable, relatively simple and low cost.