29 lines
586 B
Docker
29 lines
586 B
Docker
|
|
FROM node:22-slim
|
||
|
|
|
||
|
|
# Install system deps for mcporter and codex
|
||
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
|
|
git \
|
||
|
|
python3 \
|
||
|
|
python3-pip \
|
||
|
|
curl \
|
||
|
|
&& rm -rf /var/lib/apt/lists/*
|
||
|
|
|
||
|
|
# Install mcporter and codex globally
|
||
|
|
RUN npm install -g @anthropic/mcporter @openai/codex
|
||
|
|
|
||
|
|
WORKDIR /app
|
||
|
|
|
||
|
|
# Copy web deps first for layer caching
|
||
|
|
COPY web/package.json web/package-lock.json* web/
|
||
|
|
RUN cd web && npm install --production
|
||
|
|
|
||
|
|
# Copy everything else
|
||
|
|
COPY . .
|
||
|
|
|
||
|
|
# Make start script executable
|
||
|
|
RUN chmod +x start.sh
|
||
|
|
|
||
|
|
EXPOSE 3000
|
||
|
|
|
||
|
|
CMD ["node", "web/server.js"]
|