| FROM node:22-bookworm-slim | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PORT=7860 | |
| ENV AGENT_PORT=8787 | |
| ENV AGENT_MODEL_PROVIDER=auto | |
| ENV NVIDIA_MODEL=nvidia/nemotron-3-nano-omni-30b-a3b-reasoning | |
| ENV SEARCH_PROVIDER=disabled | |
| ENV MCP_WEB_SEARCH_ENABLED=0 | |
| ENV MCP_WEB_SEARCH_TIMEOUT_MS=6000 | |
| ENV RESEARCH_ENABLED=1 | |
| ENV RESEARCH_DEPTH=standard | |
| ENV RESEARCH_MAX_QUERIES=6 | |
| ENV RESEARCH_RESULTS_PER_QUERY=3 | |
| ENV RESEARCH_MAX_SOURCES=24 | |
| ENV RESEARCH_TOTAL_TIMEOUT_MS=45000 | |
| ENV OFFICIAL_DATA_ENABLED=1 | |
| # Keep the full agentic workflow on the Space: the model discovers neighbourhoods | |
| # (nothing hardcoded) and each City Agent reasons via the configured agentic model. | |
| ENV AGENT_DISCOVER=1 | |
| ENV AGENT_FANOUT=1 | |
| WORKDIR /app | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends python3 python3-pip python3-venv \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY package.json package-lock.json requirements.txt ./ | |
| RUN npm ci | |
| RUN python3 -m venv /opt/venv | |
| ENV PATH="/opt/venv/bin:${PATH}" | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| COPY . . | |
| RUN npm run build | |
| EXPOSE 7860 | |
| CMD ["python", "app.py"] | |