Files
gh-christianlouis-quizzical…/docker-entrypoint.sh
Christian Krakau-Louis ae8ec413d3 feat: serve app with gunicorn
2026-05-17 16:45:19 +02:00

41 lines
1.1 KiB
Bash

#!/bin/bash
set -e
# Start the Flask application with better error reporting.
echo "Starting Flask application..."
export PYTHONUNBUFFERED=1
: "${FLASK_DEBUG:=0}"
echo "Flask environment: $FLASK_ENV"
echo "Database URI: $SQLALCHEMY_DATABASE_URI"
echo "Database path: $DATABASE_PATH"
if [ "${LOG_ENV:-0}" = "1" ]; then
echo "Available non-sensitive environment variables:"
env | grep -Evi '(PASSWORD|PASS|SECRET|TOKEN|KEY|AUTH|CREDENTIAL|PRIVATE)'
fi
export PYTHONFAULTHANDLER=1
export PYTHONDONTWRITEBYTECODE=1
case "${FLASK_DEBUG,,}" in
1|true|yes|on)
echo "Starting Flask development server with hot reload..."
exec python -m flask run --host=0.0.0.0 --port=5000 --reload --debug
;;
*)
: "${GUNICORN_BIND:=0.0.0.0:5000}"
: "${GUNICORN_WORKERS:=2}"
: "${GUNICORN_THREADS:=4}"
: "${GUNICORN_TIMEOUT:=120}"
echo "Starting Gunicorn application server..."
exec gunicorn \
--bind "$GUNICORN_BIND" \
--workers "$GUNICORN_WORKERS" \
--threads "$GUNICORN_THREADS" \
--timeout "$GUNICORN_TIMEOUT" \
--access-logfile - \
--error-logfile - \
wsgi:app
;;
esac