#!/bin/bash

set -o errexit
set -o pipefail
set -o nounset

PID=/app/gunicorn.pid

GUNICORN_TIMEOUT=${GUNICORN_TIMEOUT:-30}
GUNICORN_GRACEFUL_TIMEOUT=${GUNICORN_GRACEFUL_TIMEOUT:-10}
GUNICORN_MAX_REQUESTS=${GUNICORN_MAX_REQUESTS:-0}
GUNICORN_MAX_REQUESTS_JITTER=${GUNICORN_MAX_REQUESTS_JITTER:-0}
GUNICORN_WORKERS=${GUNICORN_WORKERS:-1}

python3 /app/manage.py collectstatic --noinput

/usr/local/bin/gunicorn config.wsgi \
  --bind [::]:80 \
  --pid=$PID \
  --timeout=$GUNICORN_TIMEOUT \
  --graceful-timeout=$GUNICORN_GRACEFUL_TIMEOUT \
  --workers=$GUNICORN_WORKERS \
  --max-requests=$GUNICORN_MAX_REQUESTS \
  --max-requests-jitter=$GUNICORN_MAX_REQUESTS_JITTER \
  --access-logfile - \
  --error-logfile - \
  --log-level=info \
  --chdir=/app
