38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Определяем окружение (по умолчанию production)
|
|
ENVIRONMENT=${ENVIRONMENT:-production}
|
|
|
|
echo "Starting in $ENVIRONMENT mode..."
|
|
|
|
# Ждем PostgreSQL
|
|
echo "Waiting for PostgreSQL..."
|
|
while ! nc -z $DB_HOST $DB_PORT; do
|
|
sleep 0.1
|
|
done
|
|
echo "PostgreSQL started"
|
|
|
|
# Выполняем миграции
|
|
echo "Running migrations..."
|
|
python manage.py migrate --noinput
|
|
|
|
# Собираем статику (только для production)
|
|
if [ "$ENVIRONMENT" = "production" ]; then
|
|
echo "Collecting static files..."
|
|
python manage.py collectstatic --noinput
|
|
fi
|
|
|
|
# Запускаем сервер в зависимости от окружения
|
|
if [ "$ENVIRONMENT" = "development" ]; then
|
|
echo "Starting Django development server..."
|
|
exec python manage.py runserver 0.0.0.0:8000
|
|
else
|
|
echo "Starting Gunicorn..."
|
|
exec gunicorn --bind 0.0.0.0:8000 \
|
|
--workers ${GUNICORN_WORKERS:-3} \
|
|
--timeout ${GUNICORN_TIMEOUT:-120} \
|
|
--reload \
|
|
dbapp.wsgi:application
|
|
fi
|