|
|
|
|
|
by latchkey
1265 days ago
|
|
I feel like you've gone down the rabbit hole to the point that you've over complicated everything and now you can't do anything. 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. |
|
- Static front-end hosted on render.com
- Back-end web service on render.com
- Postgres on (you guessed it) render.com
Each is an easy-to-manage item on the dashboard. They can each be scaled up quite a bit through the web UI if needed
Front-end and back-end are subdirectories of a single repo. Deploys are automatic on push
For local development the front-end can be served statically by a filesystem-based HTTP server
Back-end is Deno, so there's basically no configuration or build step or anything; running locally is `deno run`. It doesn't have to be Deno; Go, Rust, and others only need a single compiler/runtime on the system. Just pick one like that with a single system dependency and install it manually, I promise it'll be fine
No local Docker is needed at all
Another thing I love about this setup is that - just like it's trivial to run it locally - it's trivial to move to a VM or another provider because it has bare minimum infrastructure concerns/entanglements