- Conditionally import component_logic_router only when NOT in podcast mode - Conditionally import seo_tools_router only when NOT in podcast mode - Both use seo_analyzer which requires beautifulsoup4 - Also added debug logging to render-build.sh to verify ALWRITY_ENABLED_FEATURES - Added beautifulsoup4 to requirements-podcast.txt (was missing)
31 lines
1.2 KiB
Bash
31 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
echo "🚀 Starting ALwrity Build Process..."
|
|
|
|
# 1. Update pip and essential build tools
|
|
python -m pip install --upgrade pip setuptools wheel
|
|
|
|
# 2. Install requirements based on mode
|
|
echo "📦 Checking ALWRITY_ENABLED_FEATURES..."
|
|
ENABLED_FEATURES="${ALWRITY_ENABLED_FEATURES:-all}"
|
|
echo "DEBUG: ENABLED_FEATURES='$ENABLED_FEATURES'"
|
|
|
|
if [[ "$ENABLED_FEATURES" == "podcast" ]]; then
|
|
echo "🔊 Podcast-only mode: Installing lean requirements..."
|
|
python -m pip install --no-cache-dir -r requirements-podcast.txt --only-binary :all: --retries 10 --timeout 120
|
|
else
|
|
echo "📦 Full mode: Installing all requirements..."
|
|
python -m pip install --no-cache-dir -r requirements.txt --only-binary :all: --retries 10 --timeout 120
|
|
# Download spaCy/NLTK models for full mode
|
|
echo "🧠 Installing spaCy and NLTK models..."
|
|
python -m spacy download en_core_web_sm
|
|
python -m nltk.downloader punkt_tab stopwords averaged_perceptron_tagger
|
|
fi
|
|
|
|
# 3. Clean up unnecessary build artifacts
|
|
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
|
|
rm -rf /root/.cache/pip 2>/dev/null || true
|
|
|
|
echo "✅ Build Complete!"
|