Most of the time, projects I work on are using PostgreSQL as their database. But they don’t necessarily use the same version, and this can lead to some subtle surprises. Fortunately, today most projects use Docker and Docker Compose which makes it explicit which version a project depends on.

But every now and again, it happens to run into a project that doesn’t use Docker. And I don’t want to add it as a dependency, especially for local development. This is even more the case, if there are already other team members with their own setup.

For that I wrote a small wrapper around Docker, that has a similar interface than Docker Compose. I’ve saved it in my PATH as dpg. It requires ruby, thor (gem install thor), and of course Docker.

dpg usage screenshot