FROM node:18.16 # Installs latest Chromium (92) package. RUN apt-get update && apt-get install -y \ chromium \ ca-certificates \ nodejs \ yarn \ g++ \ make \ python3 WORKDIR /app ENV CHROMIUM_PATH /usr/bin/chromium ENV LAUNCH_HEADLESS=true 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/puppeteer-parse/package.json ./packages/puppeteer-parse/package.json RUN yarn install --pure-lockfile ADD /packages/content-fetch ./packages/content-fetch ADD /packages/content-handler ./packages/content-handler ADD /packages/puppeteer-parse ./packages/puppeteer-parse ADD /packages/readabilityjs ./packages/readabilityjs RUN yarn workspace @omnivore/content-handler build # After building, fetch the production dependencies RUN rm -rf /app/packages/content-fetch/node_modules RUN rm -rf /app/node_modules RUN yarn install --pure-lockfile --production EXPOSE 8080 CMD ["yarn", "workspace", "@omnivore/content-fetch", "start"]