FROM docker.artifacts.apextoaster.com/library/node:17-alpine # dependencies: log filtering RUN apk add --update jq \ && rm -rf /var/cache/apk/* \ && yarn global add bunyan ENV PATH="${PATH}:$(yarn global bin)" WORKDIR /salty-dog # copy config, which changes rarely COPY docs/config-docker.yml /root/.salty-dog.yml # copy package first, to invalidate other layers when version changes COPY package.json /salty-dog/package.json RUN yarn install --production # copy chunks, largest to smallest (entrypoint) COPY out/vendor.js /salty-dog/out/vendor.js COPY out/main.js /salty-dog/out/main.js COPY out/index.js /salty-dog/out/index.js # set up as global cli tool RUN yarn global add file:$(pwd) COPY rules /salty-dog/rules ENTRYPOINT [ "node", "/salty-dog/out/index.js" ] CMD [ "--help" ]