From 903d14ead3d62caa9bca2ffb552274c7afd35cb5 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 11 Jan 2023 15:50:10 +0800 Subject: [PATCH] Add Dockerfile --- packages/import-handler/Dockerfile | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 packages/import-handler/Dockerfile diff --git a/packages/import-handler/Dockerfile b/packages/import-handler/Dockerfile new file mode 100644 index 000000000..84730b9d2 --- /dev/null +++ b/packages/import-handler/Dockerfile @@ -0,0 +1,56 @@ +FROM node:14.18-alpine + +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn \ + g++ \ + make \ + python3 + +# Add user so we don't need --no-sandbox. +RUN addgroup -S pptruser && adduser -S -g pptruser pptruser \ + && mkdir -p /home/pptruser/Downloads /app \ + && chown -R pptruser:pptruser /home/pptruser \ + && chown -R pptruser:pptruser /app + +# Run everything after as non-privileged user. +WORKDIR /app + +ENV CHROMIUM_PATH /usr/bin/chromium-browser +ENV LAUNCH_HEADLESS=true +ENV PORT 9090 + +COPY package.json . +COPY yarn.lock . +COPY tsconfig.json . +COPY .prettierrc . +COPY .eslintrc . + +COPY /packages/readabilityjs/package.json ./packages/readabilityjs/package.json +COPY /packages/content-handler/package.json ./packages/content-handler/package.json +COPY /packages/import-handler/package.json ./packages/import-handler/package.json + + +RUN yarn install --pure-lockfile + +ADD /packages/content-handler ./packages/content-handler +ADD /packages/import-handler ./packages/import-handler +ADD /packages/readabilityjs ./packages/readabilityjs +RUN yarn workspace @omnivore/import-handler build + +# After building, fetch the production dependencies +RUN rm -rf /app/packages/import-handler/node_modules +RUN rm -rf /app/node_modules +RUN yarn install --pure-lockfile --production + +EXPOSE 9090 + +# USER pptruser +ENTRYPOINT ["yarn", "workspace", "@omnivore/import-handler", "start_gcf"]