From 17621e39b2c8ef762068edb52fe69773727d6427 Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Fri, 16 Feb 2018 10:18:56 -0500 Subject: [PATCH] Added wait-for-postgres, changed docker-compose files --- docker-compose.dev.yml | 2 +- docker-compose.nodeodm.yml | 2 +- docker-compose.yml | 2 +- wait-for-postgres.sh | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100755 wait-for-postgres.sh diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index f59aa789..cf72c55a 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,6 +1,6 @@ version: '2' services: webapp: - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh --create-default-pnode --setup-devenv\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-postgres.sh db /webodm/start.sh --create-default-pnode --setup-devenv\"" volumes: - .:/webodm diff --git a/docker-compose.nodeodm.yml b/docker-compose.nodeodm.yml index 98e2d6b6..bf978e0c 100644 --- a/docker-compose.nodeodm.yml +++ b/docker-compose.nodeodm.yml @@ -5,7 +5,7 @@ version: '2' services: webapp: - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh --create-default-pnode\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-postgres.sh db /webodm/start.sh --create-default-pnode\"" depends_on: - node-odm-1 node-odm-1: diff --git a/docker-compose.yml b/docker-compose.yml index 50cb3218..60e89438 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: webapp: image: opendronemap/webodm_webapp container_name: webapp - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-postgres.sh db /webodm/start.sh\"" volumes: - ${WO_MEDIA_DIR}:/webodm/app/media ports: diff --git a/wait-for-postgres.sh b/wait-for-postgres.sh new file mode 100755 index 00000000..2566cf67 --- /dev/null +++ b/wait-for-postgres.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +host="$1" +shift +cmd="$@" + +until psql -h "$host" -U "postgres" -c '\q'; do + >&2 echo "Postgres is unavailable - sleeping" + sleep 1 +done + +>&2 echo "Postgres is up - executing command" +exec $cmd \ No newline at end of file