FROM node:22-slim # Install system dependencies for better-sqlite3 and bash execution RUN apt-get update && apt-get install -y \ python3 \ make \ g++ \ git \ curl \ ripgrep \ && rm -rf /var/lib/apt/lists/* # Install pnpm RUN corepack enable && corepack prepare pnpm@latest --activate WORKDIR /app # Copy package files first for better caching COPY package.json pnpm-lock.yaml ./ # Install dependencies RUN pnpm install --frozen-lockfile || pnpm install # Copy source code COPY . . # Build the application RUN pnpm build # Create workspace directory for agent RUN mkdir -p /home/ubuntu && chown node:node /home/ubuntu && chmod 755 /home/ubuntu # HF Spaces uses port 7860 ENV PORT=7860 ENV NODE_ENV=production ENV DEV_MODE=true ENV DATABASE_PATH=/app/claw-web.db ENV WORKSPACE_DIR=/home/ubuntu # ═══════════════════════════════════════════════════════════════ # HARDCODED: DeepInfra + Qwen3-Coder-480B-A35B-Instruct-Turbo # ═══════════════════════════════════════════════════════════════ ENV BUILT_IN_FORGE_API_URL=https://api.deepinfra.com/v1/openai ENV BUILT_IN_FORGE_API_KEY=D0mgWASDNh9nTUWCmhM1fTIyJ8lBWMWg ENV DEFAULT_MODEL=Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo EXPOSE 7860 CMD ["node", "dist/index.js"]