| 123456789101112131415161718192021222324252627282930313233343536 |
- FROM ruby:2.7.1-alpine as Builder
- RUN apk add --update --no-cache build-base nodejs yarn mariadb-dev tzdata imagemagick nano
- WORKDIR /home/rails/app
- COPY Gemfile* ./
- RUN bundle config --global frozen 1 \
- && bundle install --without development test \
- && rm -rf /usr/local/bundle/cache/*.gem \
- && find /usr/local/bundle/gems/ -name "*.c" -delete \
- && find /usr/local/bundle/gems/ -name "*.o" -delete
- COPY package.json yarn.lock ./
- RUN yarn install
- COPY . .
- RUN RAILS_ENV=production bundle exec rails assets:precompile
- RUN rm -rf node_modules tmp/cache
- FROM ruby:2.6.6-alpine
- # Add Alpine packages
- RUN apk add --update --no-cache mariadb-dev imagemagick tzdata
- RUN adduser rails --gecos "" --disabled-password
- USER rails
- COPY --from=Builder /usr/local/bundle/ /usr/local/bundle/
- COPY --from=Builder --chown=1000:1000 /home/rails/app /home/rails/app
- WORKDIR /home/rails/app
- ENV RAILS_ENV=production
- COPY entrypoint.sh /entrypoint.sh
- ENTRYPOINT ["/entrypoint.sh"]
|