# syntax = docker/dockerfile:1 ARG NODE_VERSION=19.3.0 ARG RUBY_VERSION=3.2.0 FROM node:$NODE_VERSION-slim AS react ARG YARN_VERSION=1.22.19 COPY client client RUN npm install yarn@$YARN_VERSION RUN cd client; yarn build FROM ruby:$RUBY_VERSION-slim AS build ARG BUNDLER_VERSION=2.4.2 RUN apt-get update &&\ apt-get install --yes build-essential git pkg-config RUN mkdir demo WORKDIR demo RUN gem install -N bundler -v ${BUNDLER_VERSION} COPY . . RUN bundle _${BUNDLER_VERSION}_ install FROM ruby:$RUBY_VERSION-slim COPY --from=build /demo /demo COPY --from=build /usr/local/bundle /usr/local/bundle COPY --from=react /client/build /demo/public COPY --from=react /client/.node-version /demo WORKDIR demo ENV RAILS_ENV=production ENV RAILS_LOG_TO_STDOUT=true ENV RAILS_SERVE_STATIC_FILES=true EXPOSE 3000 CMD bin/rails server