skyderby/skyderby

View on GitHub
Dockerfile

Summary

Maintainability
Test Coverage
FROM ruby:3.2.3

MAINTAINER Aleksandr Kunin <skyksandr@gmail.com>
LABEL org.opencontainers.image.source=https://github.com/skyderby/skyderby

RUN apt-get update -qq && apt-get install -y -qq apt-transport-https ca-certificates \
    && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
    && curl -sL https://deb.nodesource.com/setup_14.x | bash - \
    && apt-get install -y -qq --no-install-recommends postgresql-client nodejs yarn libeccodes-dev \
    && rm -rf /var/lib/apt/lists/*

RUN echo "gem: --no-rdoc --no-ri" >> ~/.gemrc

ENV RAILS_ENV=production NODE_ENV=production

WORKDIR /tmp
COPY ./Gemfile Gemfile
COPY ./Gemfile.lock Gemfile.lock
RUN bundle install --jobs 20 --retry 5

WORKDIR /opt/app
COPY ./package.json package.json
COPY ./yarn.lock yarn.lock
RUN yarn install --production

RUN mkdir -p /opt/app \
  && mkdir -p /tmp/pids \
  && mkdir -p /tmp/sockets
COPY ./ /opt/app

RUN SECRET_KEY_BASE=just-for-precompilation /bin/sh -c 'bundle exec rake webpacker:compile' && rm -rf node_modules

VOLUME /opt/app/public/assets
VOLUME /opt/app/public/packs
VOLUME /opt/app/public

CMD rails db:migrate && bundle exec puma -C config/puma.rb