Skip to content
Snippets Groups Projects
Select Git revision
  • v3-modify-mail
  • snyk-fix-207483a1e839c807f95a55077e86527d
  • master default protected
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_ru
  • translations_6e4a5e377a3e50f17e6402264fdbfcc6_ru
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_fa_IR
  • translations_en-yml--master_fa_IR
  • snyk-fix-7d634f2eb65555f41bf06d6af930e812
  • translations_en-yml--master_ar
  • translations_3b5aa4f3c755059914cfa23d7d2edcde_el
  • jfederico-patch-1
  • v2
  • v3
  • v1
  • release-3.1.0.2
  • release-3.1.0.1
  • release-3.1.0
  • release-2.14.8.4
  • release-3.0.9.1
  • release-3.0.9
  • release-3.0.8.1
  • release-2.14.8.3
  • release-3.0.8
  • release-3.0.7.1
  • release-2.14.8.2
  • release-3.0.7
  • release-3.0.6.1
  • release-3.0.6
  • release-3.0.5.4
  • release-3.0.5.3
  • release-2.14.8.1
  • release-3.0.5.2
  • release-3.0.5.1
  • release-3.0.5
34 results

Dockerfile

Blame
  • Dockerfile 1.19 KiB
    FROM ruby:alpine3.17 AS base
    
    ARG RAILS_ROOT=/usr/src/app
    ENV RAILS_ROOT=${RAILS_ROOT}
    ARG RAILS_ENV
    ENV RAILS_ENV=${RAILS_ENV:-production}
    ARG NODE_ENV
    ENV NODE_ENV=${RAILS_ENV}
    ARG RAILS_LOG_TO_STDOUT
    ENV RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT:-true}
    ARG RAILS_SERVE_STATIC_FILES
    ENV RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES:-true}
    ARG PORT
    ENV PORT=${PORT:-3000}
    ARG VERSION_TAG
    ENV VERSION_TAG=$VERSION_TAG
    ENV PATH=$PATH:$RAILS_ROOT/bin
    WORKDIR $RAILS_ROOT
    RUN bundle config --local deployment 'true' \
        && bundle config --local without 'development:test'
    
    FROM base as build
    
    ARG PACKAGES='alpine-sdk libpq-dev'
    COPY Gemfile Gemfile.lock ./
    RUN apk update \
        && apk add --update --no-cache ${PACKAGES} \
        && bundle install --no-cache \
        && bundle doctor
    
    FROM base as prod
    
    ARG PACKAGES='libpq-dev tzdata imagemagick yarn bash'
    COPY --from=build $RAILS_ROOT/vendor/bundle ./vendor/bundle
    COPY package.json yarn.lock ./
    RUN apk update \
        && apk add --update --no-cache ${PACKAGES} \
        && yarn install --production --frozen-lockfile \
        && yarn cache clean
    COPY . ./
    RUN apk update \
        && apk upgrade \
        && update-ca-certificates
    
    EXPOSE ${PORT}
    ENTRYPOINT [ "./bin/start" ]