For the sake of making it more real-world, setup has also a build step (here with TypeScript).
I've put together an article which explains most of the code from this repo: Docker Compose for NodeJS and PostreSQL
docker-compose up --build
curl http://localhost:3000/ping
# {"environment":"development","database":"up"}
Don't keep .env
file in the repo. It's here as it makes demo example simpler.