1ee17cc826
* updated development docker setup * turned on yarn integrity check * create test docker compose and update development dockerfile * create docker Readme.md file * fix README.md file * create docker-copmose and dockerfile for production/staging environment setup * added mailhog to catch email * remove yarn integrity check in development mode! * Update Readme.md file to support mailhog inbox * update link to docker development guide from mail README * remove .env.development and use .env.example for docker as .env.development was mixing with circleci config * make the dockerfile configurable like before * update docker-compose as per suggesion in PR * create docker setup docs * Revert accidental deletion * fix: typo for branding consistency * fix typo * update the code as per recommendation in PR * remove package-lock and add gitignore * fix vulnerability AND update env for tests to pass * Fix yarn integrity check across different docker services * update code based on rubocop and PR suggestions * remove redundant test docker-compose and dockerfile * update rails entrypoint, update docs and Gemfile * [Rubocop] order Gemfile alphabetically * Reordering Gemfile
50 lines
No EOL
1.4 KiB
Docker
50 lines
No EOL
1.4 KiB
Docker
FROM ruby:2.6.5-slim
|
|
|
|
# ARG default to production settings
|
|
# For development docker-compose file overrides ARGS
|
|
ARG BUNDLE_WITHOUT="development:test"
|
|
ENV BUNDLE_WITHOUT ${BUNDLE_WITHOUT}
|
|
|
|
ARG RAILS_SERVE_STATIC_FILES=true
|
|
ENV RAILS_SERVE_STATIC_FILES ${RAILS_SERVE_STATIC_FILES}
|
|
|
|
ARG RAILS_ENV=production
|
|
ENV RAILS_ENV ${RAILS_ENV}
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -qq -y install \
|
|
build-essential \
|
|
curl \
|
|
git \
|
|
imagemagick \
|
|
libpq-dev \
|
|
postgresql-client \
|
|
&& curl -L https://deb.nodesource.com/setup_12.x | bash - \
|
|
&& curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
&& echo 'deb https://dl.yarnpkg.com/debian stable main' > /etc/apt/sources.list.d/yarn.list \
|
|
&& apt-get update \
|
|
&& apt-get -qq -y install nodejs yarn \
|
|
&& gem install bundler \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN mkdir -p /app
|
|
WORKDIR /app
|
|
|
|
COPY Gemfile Gemfile.lock ./
|
|
|
|
# Do not install development or test gems in production
|
|
RUN if [ "$RAILS_ENV" = "production" ]; then \
|
|
bundle install -j 4 -r 3 --without development test; \
|
|
else bundle install -j 4 -r 3; \
|
|
fi
|
|
|
|
COPY package.json yarn.lock ./
|
|
RUN yarn install
|
|
|
|
COPY . /app
|
|
|
|
# generate production assets if production environment
|
|
RUN if [ "$RAILS_ENV" = "production" ]; then \
|
|
SECRET_KEY_BASE=precompile_placeholder bundle exec rake assets:precompile; \
|
|
fi |