As far as I can see from the `docker-entrypoint.sh` it checks for the presence of database only on the first container start. I suggest performing this check on every start. I see some possible scenarios: 1. Database was dropped for cleanup, we'd expect it to be just re-created 2. Database name was changed via ${POSTGRES_DB}, so we'd expect the new database to be created So In both cases, we just should check if the database already exists and if not then create a new one. I'm not good at shell programming, not sure if I can make a PR :)