FROM node:20-alpine WORKDIR /app # Install dependencies RUN apk add --no-cache git python3 make g++ # Install pnpm RUN npm install -g pnpm@8 # Copy root files first COPY package.json pnpm-workspace.yaml ./ # Copy all packages (including types, sdk, etc.) COPY packages/database/ ./packages/database/ COPY packages/emails/ ./packages/emails/ COPY packages/mcp-proxy/ ./packages/mcp-proxy/ COPY packages/sdk/ ./packages/sdk/ COPY packages/types/ ./packages/types/ # Copy webapp COPY apps/webapp/ ./apps/webapp/ # Install dependencies RUN pnpm install # Generate database client RUN cd packages/database && pnpm run generate || echo "Skipped" # Build all required packages RUN cd packages/database && pnpm run build || echo "Database build skipped" RUN cd packages/types && pnpm run build || echo "Types build skipped" RUN cd packages/sdk && pnpm run build || echo "SDK build skipped" RUN cd packages/emails && pnpm run build || echo "Emails build skipped" RUN cd packages/mcp-proxy && pnpm run build || echo "MCP Proxy build skipped" # Build the app RUN cd apps/webapp && pnpm run build EXPOSE 7860 ENV NODE_ENV=production ENV PORT=7860 ENV HOST=0.0.0.0 CMD ["node", "apps/webapp/server.mjs"]