1- FROM ruby:3.3 -slim AS builder
1+ FROM ruby:3.4 -slim AS builder
22
33ENV DEBIAN_FRONTEND=noninteractive \
44 workdir=/var/www \
@@ -14,9 +14,9 @@ WORKDIR $workdir
1414RUN apt-get update && \
1515 apt-get install -y --no-install-recommends \
1616 git curl gnupg build-essential \
17- libarchive-dev zlib1g-dev libcurl4-openssl-dev \
17+ libarchive-dev zlib1g-dev libcurl4-openssl-dev libgd-dev \
1818 apache2 apache2-dev libapache2-mod-fcgid libapr1-dev libaprutil1-dev \
19- postgresql-client libpq-dev libxml2-dev libyaml-dev libgd-dev \
19+ postgresql-client libpq-dev libxml2-dev libyaml-dev \
2020 pngcrush optipng advancecomp pngquant jhead jpegoptim gifsicle libjpeg-progs unzip\
2121 && curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
2222 && apt-get install -y nodejs \
@@ -31,7 +31,7 @@ RUN rm -rf $workdir/* && curl -fsSL $OHM_WEBSITE_URL -o /tmp/ohm-website.zip &&
3131 mv /tmp/ohm-website-$OPENHISTORICALMAP_WEBSITE_GITSHA/* $workdir && \
3232 rm -rf /tmp/*
3333
34- RUN gem install bundler && \
34+ RUN gem install bundler -v 4.0.11 --no-document && \
3535 bundle install && \
3636 yarn install && \
3737 bundle exec rake yarn:install
@@ -77,7 +77,7 @@ RUN git clone https://github.com/OpenHistoricalMap/leaflet-ohm-timeslider-v2.git
7777 cp leaflet-ohm-timeslider.* $workdir/app/assets/stylesheets/ && \
7878 cp assets/* $workdir/app/assets/images/
7979
80- FROM ruby:3.3 -slim
80+ FROM ruby:3.4 -slim
8181
8282ENV DEBIAN_FRONTEND=noninteractive \
8383 workdir=/var/www \
@@ -116,14 +116,15 @@ RUN BUILD_DEPS=" \
116116 gifsicle \
117117 postgresql-client \
118118 curl \
119+ git \
119120 libvips \
120121 nodejs \
121122 \
122123 && npm install -g svgo \
123124 \
124125 # Install Passenger as a gem and compile the Apache module
125126 \
126- && gem install passenger --no-document \
127+ && gem install passenger -v 6.1.3 - -no-document \
127128 && yes | passenger-install-apache2-module --auto --languages ruby \
128129 && passenger-config validate-install --auto \
129130 \
@@ -152,6 +153,10 @@ RUN a2enmod headers setenvif proxy proxy_http proxy_fcgi fcgid rewrite lbmethod_
152153 echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
153154 apache2ctl configtest
154155
156+ # Install bundler matching ohm-website Gemfile.lock to avoid Passenger preloader Gem::LoadError.
157+ RUN gem install bundler -v 4.0.11 --no-document
158+
159+
155160RUN echo '#!/bin/bash\n exec /usr/local/bin/ruby --yjit --yjit-exec-mem-size=64 "$@"' > /usr/local/bin/ruby_yjit && \
156161 chmod +x /usr/local/bin/ruby_yjit
157162
0 commit comments