FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV PIP_NO_CACHE_DIR=1 ENV PORT=7860 WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ ca-certificates \ gnupg \ build-essential \ && mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ && apt-get update && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ RUN pip install --upgrade pip && pip install -r requirements.txt COPY FRONTEND/package.json FRONTEND/package-lock.json ./FRONTEND/ RUN cd FRONTEND && npm ci COPY . . RUN cd FRONTEND && npm run build EXPOSE 7860 CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--timeout", "300", "app.app:app"]