45 lines
1.2 KiB
Docker
45 lines
1.2 KiB
Docker
FROM ruby:3.0.1-buster
|
|
|
|
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash - && \
|
|
curl -sS 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 dist-upgrade -y && \
|
|
apt-get install -y \
|
|
nodejs \
|
|
yarn \
|
|
nginx && \
|
|
apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN gem update --system && gem install bundler
|
|
|
|
|
|
# Install nginx config files
|
|
RUN rm /etc/nginx/sites-enabled/default
|
|
ADD docker/nginx_server.conf /etc/nginx/sites-enabled/parsley.conf
|
|
|
|
# Add scripts
|
|
ADD docker/bin/* /usr/local/bin/
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh /usr/local/bin/nginx_service.sh /usr/local/bin/rails_service.sh
|
|
|
|
# Set Default RAILS_ENV
|
|
ENV RAILS_ENV docker
|
|
|
|
# Setup directory and install gems
|
|
RUN mkdir -p /parsley
|
|
WORKDIR /parsley
|
|
|
|
COPY Gemfile* ./
|
|
RUN bundle install
|
|
|
|
COPY package.json yarn.lock ./
|
|
RUN yarn install --production=true --frozen-lockfile
|
|
|
|
COPY . .
|
|
|
|
# Compile assets
|
|
RUN env RAILS_ENV=production bundle exec rails webpacker:clobber webpacker:compile
|
|
|
|
ENV PORT=80
|
|
EXPOSE 80
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|