budget/Dockerfile
Andrew Tomaka 58798d524f
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is failing
Update dependencies and add pipelines (#2)
* Update Ruby/Rails/other deps
* Unlock Rails and tie to master
  * Gain access to 7.1 incoming feature allowing CI without secret_key_base
* Use Rails 7.1 Dockerfile
* Pipeline for some merge checks
* Pipeline to deploy

Reviewed-on: #2
2023-03-12 10:27:02 -04:00

27 lines
854 B
Docker

# 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