FROM node:20-slim WORKDIR /app # Install pnpm RUN npm install -g pnpm@10 # Copy package files first for layer caching COPY package.json pnpm-lock.yaml ./ # Install dependencies RUN pnpm install --frozen-lockfile # Copy source code COPY . . # LangGraph dev prerequisites RUN touch .env && mkdir -p .langgraph_api # Expose port 8080 for Azure auto-detection EXPOSE 8080 # Start LangGraph.js server on port 8080 ENV PORT=8080 RUN grep -q '.langgraph_api' .gitignore 2>/dev/null || echo '.langgraph_api' >> .gitignore CMD ["npx", "langgraphjs", "dev", "--host", "0.0.0.0", "--port", "8080", "--no-browser"]