| FROM python:3.12-slim | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| PATH="/root/.local/bin:${PATH}" \ | |
| NODE_ENV=production \ | |
| SKIP_ENV_VALIDATION=1 \ | |
| NEXT_TELEMETRY_DISABLED=1 \ | |
| PORT=7860 | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends curl ca-certificates gnupg nginx build-essential git openssl && \ | |
| 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_22.x nodistro main" > /etc/apt/sources.list.d/nodesource.list && \ | |
| apt-get update && \ | |
| apt-get install -y --no-install-recommends nodejs && \ | |
| npm install -g corepack && \ | |
| corepack enable && \ | |
| corepack prepare pnpm@10.26.2 --activate && \ | |
| curl -LsSf https://astral.sh/uv/install.sh | sh && \ | |
| apt-get clean && \ | |
| rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| COPY . /app | |
| RUN cd /app/backend && uv sync --frozen && \ | |
| cd /app/frontend && pnpm install --frozen-lockfile && pnpm build && \ | |
| chmod +x /app/start-hf.sh && \ | |
| mkdir -p /app/logs /app/backend/.deer-flow/threads /app/backend/.deer-flow/artifacts | |
| EXPOSE 7860 | |
| CMD ["/app/start-hf.sh"] | |