cookiecutter-django/{{cookiecutter.project_slug}}/compose/production/django/entrypoint.sh

49 lines
909 B
Bash
Raw Normal View History

#!/bin/sh
set -o errexit
set -o pipefail
set -o nounset
cmd="$@"
2016-01-08 13:16:14 +03:00
export REDIS_URL=redis://redis:6379
{%- if cookiecutter.use_celery == 'y' %}
export CELERY_BROKER_URL="${REDIS_URL}/0"
{%- endif %}
2015-07-16 18:43:02 +03:00
if [ -z "${POSTGRES_USER}" ]; then
# the official postgres image uses 'postgres' as default user if not set explictly.
2016-03-08 12:12:55 +03:00
export POSTGRES_USER=postgres
fi
export DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}"
postgres_ready() {
python << END
import sys
import psycopg2
try:
psycopg2.connect(
dbname="${POSTGRES_DB}",
user="${POSTGRES_USER}",
password="${POSTGRES_PASSWORD}",
host="postgres"
)
except psycopg2.OperationalError:
sys.exit(-1)
sys.exit(0)
END
}
until postgres_ready; do
>&2 echo 'PostgreSQL is unavailable (sleeping)...'
sleep 1
done
>&2 echo 'PostgreSQL is up - continuing...'
exec $cmd