chatbot-frontend / Dockerfile
Sathvik-kota's picture
Fix Streamlit visibility: disable XSRF/CORS via config
984505d
# Dockerfile for Streamlit frontend (HF Spaces) — robust PORT handling
FROM python:3.10-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
# Install system deps needed by some Python packages (Pillow, etc.)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender1 \
libjpeg-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy and install Python requirements
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
# Copy app code
COPY . .
# Expose a port (clarity only)
EXPOSE 7860
# Robust start: prefer $PORT, fall back to STREAMLIT_SERVER_PORT, then 7860
# This prevents an empty $PORT producing invalid CLI args.
CMD ["sh", "-c", "PORT=${PORT:-${STREAMLIT_SERVER_PORT:-7860}}; echo \"Starting Streamlit on port $PORT\"; streamlit run app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true"]