Skip to content

Commit fb40193

Browse files
committed
use debian as base and build ruby ourselves to support daily updates
1 parent bb3568c commit fb40193

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

docker/prod/Dockerfile

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
ARG RUBY_VERSION="3.4.2"
2-
FROM ruby:${RUBY_VERSION}-bookworm AS base
1+
FROM debian:bookworm AS base
32
LABEL maintainer="operations@openproject.com"
43

4+
ARG RUBY_VERSION="3.4.2"
55
ARG NODE_VERSION="20.9.0"
66
ARG BIM_SUPPORT=true
77
ENV USE_JEMALLOC=false
@@ -42,8 +42,12 @@ RUN useradd -d /home/$APP_USER -m $APP_USER && \
4242

4343
WORKDIR $APP_PATH
4444

45-
# upgrade bundler
46-
RUN gem install bundler --no-document
45+
# update and upgrade
46+
RUN apt-get update -qq && apt-get upgrade -y
47+
48+
# install ruby
49+
COPY ./docker/prod/setup/install-ruby.sh ./docker/prod/setup/
50+
RUN bash docker/prod/setup/install-ruby.sh $RUBY_VERSION
4751

4852
# system dependencies, nodejs
4953
COPY ./docker/prod/setup/preinstall-common.sh ./docker/prod/setup/preinstall-common.sh

docker/prod/setup/install-ruby.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
set -eox pipefail
3+
4+
apt-get install -y curl build-essential
5+
6+
RUBYINSTALL_VERSION=0.10.1
7+
8+
curl -OL https://github.com/postmodern/ruby-install/releases/download/v$RUBYINSTALL_VERSION/ruby-install-$RUBYINSTALL_VERSION.tar.gz
9+
curl -OL https://github.com/postmodern/ruby-install/releases/download/v$RUBYINSTALL_VERSION/ruby-install-$RUBYINSTALL_VERSION.tar.gz.asc
10+
11+
gpg --verify ruby-install-$RUBYINSTALL_VERSION.tar.gz.asc ruby-install-$RUBYINSTALL_VERSION.tar.gz
12+
13+
tar -xzvf ruby-install-$RUBYINSTALL_VERSION.tar.gz
14+
15+
cd ruby-install-$RUBYINSTALL_VERSION/
16+
17+
make install
18+
ruby-install --system ruby $1 -- --with-jemalloc --enable-yjit
19+
20+
gem install bundler --no-document

0 commit comments

Comments
 (0)