Video_Virality / entrypoint.sh
github-actions[bot]
Automated UV deployment
6d2f665
#!/usr/bin/env bash
set -e
# Allow overriding via env
APP_TYPE="${APP_TYPE:-streamlit}"
PORT="${PORT:-8501}"
WORKDIR="/app/ui"
cd ${WORKDIR} || exit 1
echo "Starting app (type=${APP_TYPE}, port=${PORT})"
if [ "${APP_TYPE}" = "streamlit" ]; then
# Streamlit: expects a file like streamlit_app.py — run streamlit with network binding
# --server.enableCORS false is often needed when embedding or dev
exec streamlit run streamlit_app.py --server.port ${PORT} --server.address 0.0.0.0 --server.enableCORS false
elif [ "${APP_TYPE}" = "fastapi" ]; then
# FastAPI: expects ASGI app in variable APP_MODULE (e.g. app:app)
# Use uvicorn with --host 0.0.0.0
exec uvicorn ${APP_MODULE} --host 0.0.0.0 --port ${PORT} --proxy-headers
elif [ "${APP_TYPE}" = "flask" ]; then
# Flask: expects FLASK_APP env or APP_MODULE; use gunicorn for production
# If you want the dev server change this line, but gunicorn is recommended
# APP_MODULE example: app:app (module:file + variable)
WORKERS=${GUNICORN_WORKERS:-2}
exec gunicorn --bind 0.0.0.0:${PORT} --workers ${WORKERS} ${APP_MODULE}
else
echo "Unknown APP_TYPE: ${APP_TYPE}. Supported: streamlit, fastapi, flask"
exit 2
fi