Files
wedding/Dockerfile
Rene b8b3384e67
Some checks failed
CI / build (push) Has been cancelled
test
2025-09-18 21:50:16 +02:00

33 lines
993 B
Docker

FROM ruby:2.7.8
RUN apt-get update -qq && \
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
apt-get install -y build-essential libpq-dev nodejs curl gnupg && \
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 && \
apt-get update -qq && apt-get install -y yarn && \
useradd --user-group --create-home --shell /bin/false app
ENV HOME=/home/app
WORKDIR $HOME/wedding
# Copy only Gemfiles first to leverage Docker caching
COPY --chown=app:app Gemfile Gemfile.lock ./
RUN bundle install
# Copy rest of the app
COPY --chown=app:app . ./
# Make absolutely sure everything belongs to app
RUN chown -R app:app $HOME/wedding
USER app
# Install JS dependencies
RUN yarn install --check-files
# Precompile Rails assets (SCSS -> CSS, JS, images)
RUN bundle exec rake assets:precompile
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]