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"]