Spaces:
Running
Running
# Define the path to the .env file | |
ENV_PATH="./.env" | |
# Check if the .env file exists | |
if [ -f "$ENV_PATH" ]; then | |
# Read the .env file and set environment variables | |
while IFS= read -r line || [ -n "$line" ]; do | |
# Skip empty lines and comments | |
if [[ $line =~ ^[[:space:]]*$ ]] || [[ $line =~ ^# ]]; then | |
continue | |
fi | |
# Extract variable name and value | |
if [[ $line =~ ^([^=]+)=(.*)$ ]]; then | |
name="${BASH_REMATCH[1]}" | |
value="${BASH_REMATCH[2]}" | |
export "$name"="$value" | |
echo "Loaded environment variable: $name" | |
fi | |
done < "$ENV_PATH" | |
# Stop existing containers | |
echo "Stopping existing containers..." | |
docker-compose down | |
# Rebuild the container | |
echo "Rebuilding Docker containers..." | |
docker-compose build --no-cache app | |
# Start the services | |
echo "Starting Docker services..." | |
docker-compose up -d | |
# Wait for services to be ready | |
echo "Waiting for services to start up..." | |
sleep 20 | |
# Run the Streamlit app | |
echo "Starting Streamlit app..." | |
docker-compose exec -T app sh -c "cd /app/app && streamlit run main.py" | |
else | |
echo "Error: The .env file was not found at $ENV_PATH" >&2 | |
exit 1 | |
fi |