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