FROM python:3.11-slim ENV DEBIAN_FRONTEND=noninteractive # System deps RUN apt-get update && apt-get install -y \ curl ca-certificates gnupg git wget \ && rm -rf /var/lib/apt/lists/* # Node.js 20 RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y nodejs \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Python deps COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir -r /app/requirements.txt # Frontend build COPY frontend /app/frontend WORKDIR /app/frontend RUN npm install && npm run build # Backend + data WORKDIR /app COPY backend /app/backend COPY data /app/data ENV OPENAI_MODEL=gpt-5-mini ENV NEO4J_URI=bolt://localhost:7687 ENV NEO4J_USER=neo4j ENV NEO4J_PASSWORD= EXPOSE 7860 CMD ["python3", "-m", "uvicorn", "backend.app.main:app", \ "--host", "0.0.0.0", "--port", "7860", "--log-level", "info"]