Merge pull request #395 from pierotofy/wait-for-pg

Added wait-for-postgres, changed docker-compose files
pull/403/head
Piero Toffanin 2018-02-16 11:14:43 -05:00 zatwierdzone przez GitHub
commit d74e1c29f9
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
5 zmienionych plików z 23 dodań i 7 usunięć

Wyświetl plik

@ -17,8 +17,9 @@ RUN printf "Package: *\nPin: release a=testing\nPin-Priority: 750\n" > /etc/apt/
RUN printf "deb http://mirror.steadfast.net/debian/ stable main contrib non-free\ndeb-src http://mirror.steadfast.net/debian/ stable main contrib non-free" > /etc/apt/sources.list.d/stable.list
RUN printf "deb http://mirror.steadfast.net/debian/ testing main contrib non-free\ndeb-src http://mirror.steadfast.net/debian/ testing main contrib non-free" > /etc/apt/sources.list.d/testing.list
# Install Node.js GDAL, nginx, letsencrypt
RUN apt-get -qq update && apt-get -qq install -t testing -y binutils libproj-dev gdal-bin nginx && apt-get -qq install -y gettext-base cron certbot
# Install Node.js GDAL, nginx, letsencrypt, psql
RUN apt-get -qq update && apt-get -qq install -t testing -y binutils libproj-dev gdal-bin nginx && apt-get -qq install -y gettext-base cron certbot postgresql-client-9.6
# Install pip reqs
ADD requirements.txt /webodm/
@ -32,10 +33,10 @@ RUN ln -s /webodm/nginx/crontab /etc/cron.d/nginx-cron && chmod 0644 /webodm/ngi
RUN git submodule update --init
WORKDIR /webodm/nodeodm/external/node-OpenDroneMap
RUN npm install
RUN npm install --quiet
WORKDIR /webodm
RUN npm install -g webpack && npm install && webpack
RUN npm install --quiet -g webpack && npm install --quiet && webpack
RUN python manage.py collectstatic --noinput
RUN rm /webodm/webodm/secret_key.py

Wyświetl plik

@ -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

Wyświetl plik

@ -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:

Wyświetl plik

@ -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:

Wyświetl plik

@ -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