FROM ruby:3.1-bullseye AS builder RUN apt update && apt install -y \ bsdmainutils \ build-essential \ make \ bundler \ ghostscript \ imagemagick \ libxml2-dev \ libxslt-dev \ pkg-config \ python3 \ xz-utils # Node.js 20.18.3 LTS, pinned by sha256 RUN cd /tmp && \ curl -fsSLO https://nodejs.org/dist/v20.18.3/node-v20.18.3-linux-x64.tar.xz && \ echo "595bcc9a28e6d1ee5fc7277b5c3cb029275b98ec0524e162a0c566c992a7ee5c node-v20.18.3-linux-x64.tar.xz" | sha256sum -c - && \ tar -xJf node-v20.18.3-linux-x64.tar.xz -C /usr/local --strip-components=1 && \ rm node-v20.18.3-linux-x64.tar.xz RUN npm install -g yarn && \ yarn global add prettier ADD ./Gemfile* ./ RUN echo "gem: --no-ri --no-rdoc" > ~/.gemrc && \ yes | gem update --system && \ gem install bundler && \ bundle install