Change base image to slim

This commit is contained in:
Eugene Burmakin 2025-02-01 18:52:26 +01:00
parent 375c50dbdd
commit 27714985de
3 changed files with 16 additions and 9 deletions

View file

@ -23,6 +23,7 @@ gem 'activerecord-postgis-adapter', github: 'StoneGod/activerecord-postgis-adapt
gem 'puma' gem 'puma'
gem 'pundit' gem 'pundit'
gem 'rails', '~> 8.0' gem 'rails', '~> 8.0'
gem 'racc', '~> 1.8', '>= 1.8.1' # Nokogiri dependency
gem 'rgeo' gem 'rgeo'
gem 'rswag-api' gem 'rswag-api'
gem 'rswag-ui' gem 'rswag-ui'

View file

@ -482,6 +482,7 @@ DEPENDENCIES
pry-rails pry-rails
puma puma
pundit pundit
racc (~> 1.8, >= 1.8.1)
rails (~> 8.0) rails (~> 8.0)
redis redis
rgeo rgeo

View file

@ -1,4 +1,4 @@
FROM ruby:3.3.4-alpine FROM ruby:3.3.4-slim
ENV APP_PATH=/var/app ENV APP_PATH=/var/app
ENV BUNDLE_VERSION=2.5.21 ENV BUNDLE_VERSION=2.5.21
@ -6,22 +6,27 @@ ENV BUNDLE_PATH=/usr/local/bundle/gems
ENV RAILS_LOG_TO_STDOUT=true ENV RAILS_LOG_TO_STDOUT=true
ENV RAILS_PORT=3000 ENV RAILS_PORT=3000
ENV RAILS_ENV=development ENV RAILS_ENV=development
ENV BUNDLE_FORCE_RUBY_PLATFORM=1
ENV NOKOGIRI_USE_SYSTEM_LIBRARIES=1
# Install dependencies for application # Install dependencies for application
RUN apk -U add --no-cache \ RUN apt-get update -qq && apt-get install -y \
build-base \ build-essential \
git \ git \
postgresql-dev \ libpq-dev \
postgresql-client \ postgresql-client \
libxml2 \
libxml2-dev \ libxml2-dev \
libxslt-dev \ libxslt1-dev \
nodejs \ nodejs \
yarn \ npm \
imagemagick \ imagemagick \
tzdata \ tzdata \
less \ less \
yaml-dev \ libyaml-dev \
gcompat \ pkg-config \
&& npm install -g yarn \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p $APP_PATH && mkdir -p $APP_PATH
# Update gem system and install bundler # Update gem system and install bundler
@ -35,7 +40,7 @@ COPY ../Gemfile ../Gemfile.lock ../.ruby-version ../vendor ./
# Install all gems into the image # Install all gems into the image
RUN bundle config set --local path 'vendor/bundle' \ RUN bundle config set --local path 'vendor/bundle' \
&& bundle install --jobs 4 --retry 3 \ && bundle install --jobs 1 --retry 3 \
&& rm -rf vendor/bundle/ruby/3.3.0/cache/*.gem && rm -rf vendor/bundle/ruby/3.3.0/cache/*.gem
# Copy the rest of the application # Copy the rest of the application