diff --git a/docker-compose.yml b/docker-compose.yml index 55b65945..8c6d5f1a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,9 @@ version: '3' services: db: + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 2s image: postgis/postgis:14-3.3-alpine environment: - POSTGRES_HOST_AUTH_METHOD=trust @@ -10,6 +13,9 @@ services: - db:/var/lib/postgresql/data app: + depends_on: + db: + condition: service_healthy image: umap/umap:1.3.2 ports: - "${PORT-8000}:8000" diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index bf6c5165..e036338f 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -3,24 +3,6 @@ set -eo pipefail source /venv/bin/activate -# default variables -: "${SLEEP:=1}" -: "${TRIES:=60}" - -function wait_for_database {( - echo "Waiting for database to respond..." - tries=0 - while true; do - [[ $tries -lt $TRIES ]] || return - (echo "from django.db import connection; connection.connect()" | umap shell) >/dev/null - [[ $? -eq 0 ]] && return - sleep $SLEEP - tries=$((tries + 1)) - done -)} - -# first wait for the database -wait_for_database # then migrate the database umap migrate # then collect static files