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 COPY yarn.lock /salty-dog/yarn.lock RUN yarn install --production # copy chunks, largest to smallest (entrypoint) COPY out/bundle/ /salty-dog/out/bundle/ # set up as global cli tool RUN yarn global add file:$(pwd) COPY rules /salty-dog/rules ENTRYPOINT [ "node", "/salty-dog/out/bundle/index.cjs" ] CMD [ "--help" ]