File size: 1,644 Bytes
9f6a881 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #!/usr/bin/env bash
set -euo pipefail
export BLUE_DOCKER="${BLUE_DOCKER:-1}"
export BLUE_ONNX_GPU="${BLUE_ONNX_GPU:-1}"
export BLUE_SERVE_MODE="${BLUE_SERVE_MODE:-serverless}"
export BLUE_SKIP_GRADIO="${BLUE_SKIP_GRADIO:-1}"
export PYTHONPATH="${PYTHONPATH:-/app}"
export GRADIO_ANALYTICS_ENABLED="${GRADIO_ANALYTICS_ENABLED:-False}"
export HF_HUB_DISABLE_TELEMETRY="${HF_HUB_DISABLE_TELEMETRY:-1}"
export GRADIO_SERVER_NAME="${GRADIO_SERVER_NAME:-0.0.0.0}"
export GRADIO_SERVER_PORT="${GRADIO_SERVER_PORT:-${PORT:-7860}}"
export PORT="${PORT:-$GRADIO_SERVER_PORT}"
# onnxruntime-gpu wheels ship NVIDIA libs under site-packages (venv or system).
PY_SITE="$(python -c 'import site; print(site.getsitepackages()[0])')"
for libdir in \
"${PY_SITE}/nvidia/cudnn/lib" \
"${PY_SITE}/nvidia/cublas/lib" \
"${PY_SITE}/nvidia/cuda_runtime/lib" \
"${PY_SITE}/nvidia/cufft/lib" \
"${PY_SITE}/nvidia/curand/lib" \
"${PY_SITE}/nvidia/cusolver/lib" \
"${PY_SITE}/nvidia/cusparse/lib" \
"${VIRTUAL_ENV}/lib/python3.12/site-packages/nvidia/cudnn/lib" \
"${VIRTUAL_ENV}/lib/python3.12/site-packages/nvidia/cublas/lib"
do
if [[ -d "$libdir" ]]; then
export LD_LIBRARY_PATH="${libdir}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
fi
done
echo "[entrypoint] pwd=$(pwd) python=$(command -v python)"
MODE="${BLUE_SERVE_MODE:-serverless}"
echo "[entrypoint] mode=${MODE}"
if [[ "$MODE" == "serverless" ]]; then
# Keep the process attached; log uncaught errors instead of silent exit.
exec python -u /app/docker/rp_handler.py
fi
export BLUE_SKIP_GRADIO=0
echo "[entrypoint] listening on ${GRADIO_SERVER_NAME}:${PORT}"
exec python -u app.py
|