Select Git revision
Samuel Couillard
authored and
GitHub
committed
* Initial commit * Remove unused files * Improvements in error handling, refactoring * add running_meeting_checker spec * improve recordings_poller * remove provider scoping, improve code with logs * rubo * Fix Dockerfile, docker-compose * fix logs issue * remove database name from docker-compose * Rework poller script to match start script * Put proper image to docker-compose
Dockerfile 1.22 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 \
&& chmod +x ./bin/poller
EXPOSE ${PORT}
ENTRYPOINT [ "./bin/start" ]