mirror of
https://github.com/Balshgit/public.git
synced 2025-09-11 18:00:42 +03:00
42 lines
1.2 KiB
Bash
42 lines
1.2 KiB
Bash
#!/usr/bin/env sh
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
|
|
# We are using `gunicorn` for production, see:
|
|
# http://docs.gunicorn.org/en/stable/configure.html
|
|
|
|
# Check that $DJANGO_ENV is set to "production",
|
|
# fail otherwise, since it may break things:
|
|
|
|
|
|
echo "DJANGO_ENV is $DJANGO_ENV"
|
|
if [ "$DJANGO_ENV" != 'production' ]; then
|
|
echo 'Error: DJANGO_ENV is not set to "production".'
|
|
echo 'Application will not start.'
|
|
exit 1
|
|
fi
|
|
|
|
export DJANGO_ENV
|
|
|
|
|
|
# Run python specific scripts:
|
|
# Running migrations in startup script might not be the best option, see:
|
|
# docs/pages/template/production-checklist.rst
|
|
python /code/manage.py migrate --noinput
|
|
python /code/manage.py collectstatic --noinput
|
|
python /code/manage.py compilemessages
|
|
|
|
# Start gunicorn:
|
|
# Docs: http://docs.gunicorn.org/en/stable/settings.html
|
|
# Concerning `workers` setting see:
|
|
# https://github.com/wemake-services/wemake-django-template/issues/1022
|
|
/usr/local/bin/gunicorn server.wsgi \
|
|
--workers=4 `# Sync worker settings` \
|
|
--max-requests=2000 \
|
|
--max-requests-jitter=400 \
|
|
--bind='0.0.0.0:8000' `# Run Django on 8000 port` \
|
|
--chdir='/code' `# Locations` \
|
|
--log-file=- \
|
|
--worker-tmp-dir='/dev/shm'
|