| FROM node:20-slim AS builder |
| WORKDIR /app |
|
|
| |
| COPY backend/package*.json ./backend/ |
| COPY mcp-servers/repo-analyzer/package*.json ./mcp-servers/repo-analyzer/ |
| COPY mcp-servers/code-reader/package*.json ./mcp-servers/code-reader/ |
| COPY mcp-servers/doc-generator/package*.json ./mcp-servers/doc-generator/ |
| COPY mcp-servers/readme-scorer/package*.json ./mcp-servers/readme-scorer/ |
| COPY mcp-servers/readme-improver/package*.json ./mcp-servers/readme-improver/ |
|
|
| |
| RUN cd backend && npm install |
| RUN cd mcp-servers/repo-analyzer && npm install |
| RUN cd mcp-servers/code-reader && npm install |
| RUN cd mcp-servers/doc-generator && npm install |
| RUN cd mcp-servers/readme-scorer && npm install |
| RUN cd mcp-servers/readme-improver && npm install |
|
|
| |
| COPY . . |
|
|
| |
| RUN cd backend && npm run build |
| RUN cd mcp-servers/repo-analyzer && npm run build |
| RUN cd mcp-servers/code-reader && npm run build |
| RUN cd mcp-servers/doc-generator && npm run build |
| RUN cd mcp-servers/readme-scorer && npm run build |
| RUN cd mcp-servers/readme-improver && npm run build |
|
|
| |
| FROM node:20-slim |
| WORKDIR /app |
|
|
| |
| COPY --from=builder /app /app |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| RUN printf '#!/bin/bash\n\ |
| echo "--- Starting MCP Servers ---"\n\ |
| PORT=3002 GITHUB_TOKEN=$GITHUB_TOKEN node /app/mcp-servers/repo-analyzer/dist/index.mjs &\n\ |
| PORT=3003 GITHUB_TOKEN=$GITHUB_TOKEN node /app/mcp-servers/code-reader/dist/index.mjs &\n\ |
| PORT=3004 GEMINI_API_KEY=$GEMINI_API_KEY node /app/mcp-servers/doc-generator/dist/index.mjs &\n\ |
| PORT=3005 GEMINI_API_KEY=$GEMINI_API_KEY node /app/mcp-servers/readme-scorer/dist/index.mjs &\n\ |
| PORT=3006 GEMINI_API_KEY=$GEMINI_API_KEY node /app/mcp-servers/readme-improver/dist/index.mjs &\n\ |
| echo "Waiting for MCP servers to bind..."\n\ |
| sleep 3\n\ |
| echo "--- Starting Backend on port 7860 ---"\n\ |
| PORT=7860 GEMINI_API_KEY=$GEMINI_API_KEY GITHUB_TOKEN=$GITHUB_TOKEN node /app/backend/dist/index.js\n' > start.sh && \ |
| chmod +x start.sh |
|
|
| CMD ["./start.sh"] |