diff --git a/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint b/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint index fc04a6299..999f2d4e5 100644 --- a/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint +++ b/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint @@ -4,9 +4,36 @@ set -o errexit set -o nounset -# TODO: ? merge with -local somehow - # N.B. If only .env files supported variable expansion... export CELERY_BROKER_URL="${REDIS_URL}" +if [ -z "${POSTGRES_USER}" ]; then + base_postgres_image_default_user='postgres' + export POSTGRES_USER="${base_postgres_image_default_user}" +fi +export DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}" + +postgres_ready() { +python << END +import sys +import psycopg2 +try: + psycopg2.connect( + dbname="${POSTGRES_DB}", + user="${POSTGRES_USER}", + password="${POSTGRES_PASSWORD}", + host="${POSTGRES_HOST}", + port="${POSTGRES_PORT}", + ) +except psycopg2.OperationalError: + sys.exit(-1) +sys.exit(0) +END +} +until postgres_ready; do + >&2 echo 'Waiting for PostgreSQL to become available...' + sleep 1 +done +>&2 echo 'PostgreSQL is available' + exec "$@" diff --git a/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint.local b/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint.local deleted file mode 100644 index 999f2d4e5..000000000 --- a/{{cookiecutter.project_slug}}/docker/django/scripts/entrypoint.local +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -o errexit -set -o nounset - - -# N.B. If only .env files supported variable expansion... -export CELERY_BROKER_URL="${REDIS_URL}" - -if [ -z "${POSTGRES_USER}" ]; then - base_postgres_image_default_user='postgres' - export POSTGRES_USER="${base_postgres_image_default_user}" -fi -export DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}" - -postgres_ready() { -python << END -import sys -import psycopg2 -try: - psycopg2.connect( - dbname="${POSTGRES_DB}", - user="${POSTGRES_USER}", - password="${POSTGRES_PASSWORD}", - host="${POSTGRES_HOST}", - port="${POSTGRES_PORT}", - ) -except psycopg2.OperationalError: - sys.exit(-1) -sys.exit(0) -END -} -until postgres_ready; do - >&2 echo 'Waiting for PostgreSQL to become available...' - sleep 1 -done ->&2 echo 'PostgreSQL is available' - -exec "$@" diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index dff66e970..4744ccd17 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -26,7 +26,6 @@ services: - ./.envs/.postgres.local ports: - "8000:8000" - entrypoint: /entrypoint.local command: /django.local {%- if cookiecutter.use_celery == 'y' %}