FROM python:3.11 WORKDIR /app # Copy requirements first for better caching COPY requirements.txt /app/ # Install dependencies and upgrade pip RUN pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir -r requirements.txt # Copy remaining application code COPY . /app # Create logs directory with proper permissions RUN mkdir -p /app/logs /app/.cache/huggingface && chmod -R 777 /app/logs /app/.cache/huggingface RUN mkdir -p /app/src/backend/data && chmod 775 /app/src/backend/data # Install additional dependencies RUN apt-get update && apt-get install -y tmux curl # Ensure the Hugging Face cache is set correctly ENV HF_HOME="/app/.cache/huggingface" # Set Python path ENV PYTHONPATH="/app/src" # Expose ports for both FastAPI (8000) and Streamlit (7860) EXPOSE 8000 7860 # Combined startup with better control CMD ["sh", "-c", "fastapi dev src/backend/main.py --host 0.0.0.0 --port 8000 & sleep 5 && streamlit run src/frontend/home.py --server.port 7860 --server.address 0.0.0.0"]