EmoViTTT / start.sh
Luisnguyen1
a
172d610
#!/bin/bash
set -e
echo "🚀 Starting EmoVIT application..."
# Create and set permissions for cache directories
echo "📁 Setting up cache directories..."
mkdir -p /app/.cache/huggingface/hub
mkdir -p /app/.cache/transformers
mkdir -p /app/.cache/torch
mkdir -p /app/.cache/datasets
# Set permissions only for /app/.cache (avoid root filesystem)
chmod -R 777 /app/.cache/ 2>/dev/null || true
# Set environment variables
export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-/app/.cache/transformers}
export HF_HOME=${HF_HOME:-/app/.cache/huggingface}
export TORCH_HOME=${TORCH_HOME:-/app/.cache/torch}
export HF_DATASETS_CACHE=${HF_DATASETS_CACHE:-/app/.cache/datasets}
export HUGGINGFACE_HUB_CACHE=${HUGGINGFACE_HUB_CACHE:-/app/.cache/huggingface/hub}
export PYTHONPATH=/app:/app/lib:$PYTHONPATH
export PYTHONUNBUFFERED=1
echo "✅ Cache directories set up"
echo "🔧 Environment variables:"
echo " TRANSFORMERS_CACHE=$TRANSFORMERS_CACHE"
echo " HF_HOME=$HF_HOME"
echo " TORCH_HOME=$TORCH_HOME"
echo " PYTHONPATH=$PYTHONPATH"
# Test dependencies
echo "🔍 Testing dependencies..."
python3 -c "
import sys
import warnings
warnings.filterwarnings('ignore')
try:
import numpy
print(f'✅ NumPy {numpy.__version__}')
except Exception as e:
print(f'❌ NumPy: {e}')
sys.exit(1)
try:
import cv2
print(f'✅ OpenCV {cv2.__version__}')
except Exception as e:
print(f'❌ OpenCV: {e}')
sys.exit(1)
try:
import torch
print(f'✅ PyTorch {torch.__version__}')
except Exception as e:
print(f'❌ PyTorch: {e}')
sys.exit(1)
try:
import transformers
print(f'✅ Transformers {transformers.__version__}')
except Exception as e:
print(f'❌ Transformers: {e}')
sys.exit(1)
try:
import lavis
print(f'✅ LAVIS imported successfully')
except Exception as e:
print(f'❌ LAVIS: {e}')
print('Warning: LAVIS not available, app will run in demo mode')
"
echo "🌐 Starting Flask application..."
# Use unbuffered Python output for better logging in containers
exec python3 -u app.py