# Make sure it matches the Ruby version in .ruby-version and Gemfile ARG RUBY_VERSION=3.2.0 FROM ruby:$RUBY_VERSION # Set production environment ENV RAILS_LOG_TO_STDOUT="1" \ RAILS_SERVE_STATIC_FILES="true" \ RAILS_ENV="production" \ BUNDLE_WITHOUT="development:test" # Install application gems COPY Gemfile Gemfile.lock ./ RUN bundle install # Copy application code COPY . . # Precompile bootsnap code for faster boot times RUN bundle exec bootsnap precompile --gemfile app/ lib/ # Precompiling assets for production without requiring secret RAILS_MASTER_KEY RUN SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile # Entrypoint prepares database and starts app on 0.0.0.0:3000 by default, # but can also take a rails command, like "console" or "runner" to start instead. ENTRYPOINT ["/rails/bin/docker-entrypoint"] EXPOSE 3000