#!/bin/sh set -e echo "Waiting for PostgreSQL to be ready..." until python -c " import psycopg2, os, sys try: psycopg2.connect( dbname=os.environ.get('POSTGRES_DB','diarydb'), user=os.environ.get('POSTGRES_USER','diaryuser'), password=os.environ.get('POSTGRES_PASSWORD','diarypass'), host=os.environ.get('DB_HOST','db'), port=os.environ.get('DB_PORT','5432') ) except Exception: sys.exit(1) "; do echo " DB not ready yet, retrying in 2s..." sleep 2 done echo "PostgreSQL is ready." echo "Running migrations..." python manage.py migrate --noinput echo "Starting Gunicorn..." exec gunicorn diary_app.wsgi:application \ --bind 0.0.0.0:8000 \ --workers 2 \ --timeout 120