Local development setup with or without Docker

I find Docker is great for portability and getting up and running quickly, but frustrating as a long-term development experience.

My favorite way to do cross-team development is to run all services (e.g. Postgres, Redis, etc.) in Docker, but then also expose them on the host machine so that you can run your actual Django app on either Docker or directly on your machine. I find I almost never run into docker-specific issues related to services, but do run into them when running the Django portion (e.g. debugging is annoying).