Spaces:
Sleeping
Sleeping
File size: 1,406 Bytes
293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 293b6bd 5830379 52d0968 5830379 dd78bf5 5830379 dd78bf5 5830379 | 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 46 | #!/bin/bash
set -e
echo "--- Starting application... ---"
# Use relative paths for scripts
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Ensure we are in the app directory
cd "$SCRIPT_DIR"
# Initialize database if needed
echo "--- Checking SQLite database... ---"
if [ ! -s ./data/sqlite/lpm.db ]; then
echo "SQLite database not found or empty, initializing..."
mkdir -p ./data/sqlite
sqlite3 ./data/sqlite/lpm.db < ./docker/sqlite/init.sql
echo "SQLite database initialized successfully"
else
echo "SQLite database already exists"
fi
# Initialize ChromaDB if needed
echo "--- Checking ChromaDB... ---"
if [ ! -d ./data/chroma_db/documents ] || [ ! -d ./data/chroma_db/document_chunks ]; then
echo "ChromaDB collections not found, initializing..."
python ./docker/app/init_chroma.py
echo "ChromaDB initialized successfully"
else
echo "ChromaDB already exists"
fi
# Try to run setup if it exists and hasn't been run
if [ -f "./scripts/setup.sh" ]; then
echo "Checking if setup is needed..."
# We skip full setup in container but could do minor checks
fi
echo "Starting Flask application..."
export FLASK_APP=lpm_kernel.app
export PYTHONPATH=$PYTHONPATH:.
# Use port 7860 for Hugging Face Spaces by default if LOCAL_APP_PORT is not set
PORT=${LOCAL_APP_PORT:-7860}
echo "Running on port $PORT"
python -m flask run --host=0.0.0.0 --port=$PORT
|