diff options
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 31 |
1 files changed, 18 insertions, 13 deletions
@@ -38,7 +38,7 @@ RUN cd packages/db && \ RUN corepack enable && \ cd packages/web/ && \ - yarn run build + yarn next experimental-compile FROM base AS web WORKDIR /app @@ -46,9 +46,6 @@ WORKDIR /app ENV NODE_ENV production ENV NEXT_TELEMETRY_DISABLED 1 -# RUN addgroup --system --gid 1001 nodejs -# RUN adduser --system --uid 1001 nextjs - COPY --from=web_builder --chown=node:node /app/packages/web/.next/standalone ./ COPY --from=web_builder /app/packages/web/public ./packages/web/public @@ -61,9 +58,7 @@ RUN chown node:node ./packages/web/.next COPY --from=web_builder --chown=node:node /app/packages/web/.next/static ./packages/web/.next/static WORKDIR /app/packages/web - -USER node - +USER root EXPOSE 3000 ENV PORT 3000 @@ -89,10 +84,9 @@ RUN cd packages/db && \ yarn prisma generate WORKDIR /app/packages/db -USER node +USER root CMD ["yarn", "prisma", "migrate", "deploy"] -# CMD ["ls", "-la", "/data"] ################# The workers ############## @@ -100,11 +94,22 @@ CMD ["yarn", "prisma", "migrate", "deploy"] FROM base AS workers WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules + # Install chromium needed for puppeteer -RUN apk add chromium -env PUPPETEER_EXECUTABLE_PATH "/usr/bin/chromium-browser" +RUN apk add --no-cache chromium runuser +ENV PUPPETEER_SKIP_DOWNLOAD true +ENV CHROME_PATH "/usr/bin/chromium-browser" +ENV BROWSER_EXECUTABLE_PATH "/app/start-chrome.sh" +ENV BROWSER_USER_DATA_DIR="/tmp/chrome" + +RUN echo '#!/bin/sh' >> /app/start-chrome.sh && \ + echo 'set -x;' >> /app/start-chrome.sh && \ + echo 'id -u chrome &>/dev/null || adduser -S chrome' >> /app/start-chrome.sh && \ + echo 'mkdir -p /tmp/chrome && chown chrome /tmp/chrome' >> /app/start-chrome.sh && \ + echo 'runuser -u chrome -- $CHROME_PATH $@' >> /app/start-chrome.sh && \ + chmod +x /app/start-chrome.sh -COPY --from=deps /app/node_modules ./node_modules COPY packages packages COPY package.json yarn.lock .yarnrc.yml . @@ -112,6 +117,6 @@ RUN cd packages/db && \ yarn prisma generate WORKDIR /app/packages/workers -USER node +USER root CMD ["yarn", "run", "start:prod"] |
