Monorepo? Docker compose?
What is the best "config by code" approach for a monorepo or am I better off splitting up my project? I'm really far from a devop so I'm not sure what the best way to go about any of this is. I've got a flask backend and a vite frontend (currently flask hosts the vite dist as static files), using aws RDS for database and heroku cloud ampq. Using heroku PR environments as well.
The goal is to setup database branching(maybe neon.tech or postgres.io) (at least get this working for PR env, prod and dev although ideally find a solution for testing migrations and working locally as well, no idea how that normally works) and properly integrate alembic migrations and move to a faster cheaper better host (railway).
What is the best starting point? Should I be aiming for a monorepo and docker-compose (would that be faster or slower to build than nixpacks and what not)? or can I use the railway.toml to define multiple services (not clear to me), how can I hookup database branching with railway PR environments? Or should I plan to go for seeding/copying with obfuscation instead? How can I make local development and quick testing of migrations possible?
Thank you!
2 Replies