Muito bacana o setup, com certeza vou testar em algum momento em alguma aplicação minha.
Mas também é possível utilizar uma abordagem um pouco mais enxugada, já que está utilizando Postgres.
Você consegue utilizar dos schemas do Postgres, criar um novo schema para fazer os testes de integração e apagá-lo assim que todos testes forem concluídos. Acho que seria uma maneira sem subir um container inteiro para fazer os testes.
Oi, tentei essa abordagem a um tempo atrás, porém sem sucesso quando passava ultrapassava +10 casos de teste. Recebia um erro muito genérico durante a criação dos schemas junto com o push do schema para o banco, não quis gastar muita energia para tentar resolver na época.
A principal dificuldade com o Docker foi o uso de CPU durante os testes. Precisei limitar o número de workers ativos durante a execução.
jest --maxWorkers=%