Async chat processing eliminates 504 timeouts - POST returns immediately, backend processes in background, frontend polls for results with timestamps. Scale to ~12 simultaneous chats via 8 uvicorn workers + 16-thread executor. Parallelized MCP data collection, 2h session cache, 5min tool timeout. Full dead code cleanup across backend, frontend, MCP, docker, and nginx.
26 lines
544 B
Docker
26 lines
544 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install system deps
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl gcc libffi-dev && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Python deps + OCI CLI
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt && \
|
|
pip install --no-cache-dir oci-cli
|
|
|
|
# Copy app
|
|
COPY app.py .
|
|
COPY cis_reports.py .
|
|
COPY mcp_cis_server.py .
|
|
|
|
# Data volume
|
|
RUN mkdir -p /data
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "8"]
|