From a7b312efa9a2f85a07c32a18b9ab742ccd2c1f2c Mon Sep 17 00:00:00 2001 From: jason Date: Sat, 14 Mar 2026 15:02:17 -0500 Subject: [PATCH] docker --- Dockerfile | 10 +++++++--- README.md | 10 ++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index a9968f5..ad62480 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,8 @@ -FROM node:22-bookworm-slim AS base +ARG NODE_VERSION=22 + +FROM node:${NODE_VERSION}-bookworm-slim AS base WORKDIR /app +ENV PUPPETEER_SKIP_DOWNLOAD=true FROM base AS deps COPY package.json package-lock.json ./ @@ -13,7 +16,7 @@ COPY . . RUN npm run prisma:generate RUN npm run build -FROM node:22-bookworm-slim AS runtime +FROM node:${NODE_VERSION}-bookworm-slim AS runtime WORKDIR /app ENV NODE_ENV=production @@ -21,6 +24,7 @@ ENV PORT=3000 ENV DATA_DIR=/app/data ENV DATABASE_URL=file:../../data/prisma/app.db ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium +ENV PUPPETEER_SKIP_DOWNLOAD=true RUN apt-get update && apt-get install -y --no-install-recommends \ chromium \ @@ -71,7 +75,7 @@ COPY --from=build /app/server/dist /app/server/dist COPY --from=build /app/shared/dist /app/shared/dist COPY --from=build /app/server/prisma /app/server/prisma COPY --from=build /app/docker-entrypoint.sh /app/docker-entrypoint.sh -COPY README.md INSTRUCTIONS.md STRUCTURE.md ./ +COPY README.md INSTRUCTIONS.md STRUCTURE.md ROADMAP.md UNRAID.md ./ RUN chmod +x /app/docker-entrypoint.sh diff --git a/README.md b/README.md index 7ac4aac..772f3dd 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,16 @@ docker build -t mrp-codex . docker run -p 3000:3000 -v mrp_data:/app/data mrp-codex ``` +Command-line build notes: + +- The Dockerfile is intended to be built directly from the repo root with `docker build` +- `puppeteer` browser download is disabled during image build because the runtime image installs system Chromium +- You can override the Node base image version if needed: + +```bash +docker build --build-arg NODE_VERSION=22 -t mrp-codex . +``` + The container startup script runs `npx prisma migrate deploy` automatically before launching the server. ## Persistence and backup