diff --git a/docker/dev/django/start b/docker/dev/django/start index 498c322..dded5aa 100644 --- a/docker/dev/django/start +++ b/docker/dev/django/start @@ -4,5 +4,11 @@ set -o errexit set -o pipefail set -o nounset +rm -f /tmp/migrations_complete + python manage.py migrate + +# Create flag file to signal migrations are complete +touch /tmp/migrations_complete + exec python manage.py runserver 0.0.0.0:8000 diff --git a/docker/dev/procrastinate/start b/docker/dev/procrastinate/start index a28a684..b0c67a3 100644 --- a/docker/dev/procrastinate/start +++ b/docker/dev/procrastinate/start @@ -4,4 +4,12 @@ set -o errexit set -o nounset +# Wait for migrations to complete +until [ -f /tmp/migrations_complete ]; do + echo "Procastinate is waiting for web app to start..." + sleep 2 +done + +rm -f /tmp/migrations_complete + exec watchfiles --filter python "python manage.py procrastinate worker" diff --git a/docker/prod/django/start b/docker/prod/django/start index d249748..f581619 100644 --- a/docker/prod/django/start +++ b/docker/prod/django/start @@ -4,8 +4,13 @@ set -o errexit set -o pipefail set -o nounset +# Remove flag file if it exists from previous run +rm -f /tmp/migrations_complete python manage.py collectstatic --noinput python manage.py migrate +# Create flag file to signal migrations are complete +touch /tmp/migrations_complete + exec gunicorn WYGIWYH.wsgi:application --bind 0.0.0.0:8000 --timeout 600 diff --git a/docker/prod/procrastinate/start b/docker/prod/procrastinate/start index 79daf78..d020bf7 100644 --- a/docker/prod/procrastinate/start +++ b/docker/prod/procrastinate/start @@ -4,4 +4,12 @@ set -o errexit set -o nounset +# Wait for migrations to complete +until [ -f /tmp/migrations_complete ]; do + echo "Procastinate is waiting for web app to start..." + sleep 2 +done + +rm -f /tmp/migrations_complete + exec python manage.py procrastinate worker