Docker compose is a good way for managing local dev environment. I like this article Docker Compose Best Practices. You also need some scripts for initial setup and migrations (db schema, restructure...) For configuring project I use direnv which abstracts away environment differences.
I am also experimenting with Nix shell as development environment which gives you fast and lightweight development environment.