diff --git a/Dockerfile b/Dockerfile index 53f6013..19b7336 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22 +FROM node:22 AS builder WORKDIR /fredy @@ -6,22 +6,31 @@ RUN corepack enable \ && corepack prepare pnpm@latest --activate COPY package.json pnpm-lock.yaml ./ - RUN pnpm install --frozen-lockfile COPY . . +RUN pnpm run prod + +FROM node:22-slim + +WORKDIR /fredy RUN apt-get update \ && apt-get install -y chromium \ && rm -rf /var/lib/apt/lists/* +RUN corepack enable \ + && corepack prepare pnpm@latest --activate \ + && pnpm add -g pm2 + +COPY --from=builder /fredy/node_modules ./node_modules +COPY --from=builder /fredy/dist ./dist +COPY --from=builder /fredy/package.json ./ + ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium -RUN pnpm add -g pm2 \ - && pnpm config set network-timeout 600000 \ - && pnpm run prod \ - && mkdir -p /db /conf \ +RUN mkdir -p /db /conf \ && chown 1000:1000 /db /conf \ && chmod 777 /db /conf \ && ln -s /db /fredy/db \ @@ -29,4 +38,4 @@ RUN pnpm add -g pm2 \ EXPOSE 9998 -CMD ["pm2-runtime", "index.js"] +CMD ["pm2-runtime", "dist/index.js"]