Skip to content
Snippets Groups Projects
Select Git revision
  • 7e770312ccc3cd4dd2eaaa1e5518af00ad7ae345
  • 2022ws default protected
  • MPeth-2022ws-patch-01682
  • 2021ws
  • 2020ws
  • 2019ws
  • 2019ss
  • 2018ws
  • 2017ws
  • 2017ss
  • 2016ws
  • 2016ss
  • 2015ss
13 results

variables-01.txt

Blame
  • Forked from Peter Gerwinski / es
    Source project has a limited visibility.
    Dockerfile 1.68 KiB
    FROM ruby:2.7.2-alpine AS base
    
    # Set a variable for the install location.
    ARG RAILS_ROOT=/usr/src/app
    # Set Rails environment.
    ENV RAILS_ENV production
    ENV BUNDLE_APP_CONFIG="$RAILS_ROOT/.bundle"
    
    # Make the directory and set as working.
    RUN mkdir -p $RAILS_ROOT
    WORKDIR $RAILS_ROOT
    
    ARG BUILD_PACKAGES="build-base curl-dev git shared-mime-info"
    ARG DEV_PACKAGES="postgresql-dev sqlite-libs sqlite-dev yaml-dev zlib-dev nodejs yarn"
    ARG RUBY_PACKAGES="tzdata"
    
    # Install app dependencies.
    RUN apk update \
        && apk upgrade \
        && apk add --update --no-cache $BUILD_PACKAGES $DEV_PACKAGES $RUBY_PACKAGES
    
    COPY Gemfile* ./
    COPY Gemfile Gemfile.lock $RAILS_ROOT/
    
    RUN bundle config --global frozen 1 \
        && bundle install --deployment --without development:test:assets -j4 --path=vendor/bundle \
        && rm -rf vendor/bundle/ruby/2.7.0/cache/*.gem \
        && find vendor/bundle/ruby/2.7.0/gems/ -name "*.c" -delete \
        && find vendor/bundle/ruby/2.7.0/gems/ -name "*.o" -delete
    
    # Adding project files.
    COPY . .
    
    # Remove folders not needed in resulting image
    RUN rm -rf tmp/cache spec
    
    ############### Build step done ###############
    
    FROM ruby:2.7.2-alpine
    
    # Set a variable for the install location.
    ARG RAILS_ROOT=/usr/src/app
    ARG PACKAGES="tzdata curl postgresql-client sqlite-libs yarn nodejs bash"
    
    ENV RAILS_ENV=production
    ENV BUNDLE_APP_CONFIG="$RAILS_ROOT/.bundle"
    
    WORKDIR $RAILS_ROOT
    
    RUN apk update \
        && apk upgrade \
        && apk add --update --no-cache $PACKAGES
    
    
    COPY --from=base $RAILS_ROOT $RAILS_ROOT
    
    # Expose port 80.
    EXPOSE 80
    
    # Sets the footer of greenlight application with current build version
    ARG version_code
    ENV VERSION_CODE=$version_code
    
    # Start the application.
    CMD ["bin/start"]