From 27a0f462ebc955aeabaa6a5401023e7d6fa377b5 Mon Sep 17 00:00:00 2001 From: Alex Kriuchykhin Date: Wed, 25 Sep 2024 14:57:46 +0200 Subject: [PATCH] Fix Chromium execution failure in Docker containers (#7887) --- Dockerfile | 4 ++-- Dockerfile.production | 1 - bin/chromium | 2 ++ config/initializers/grover.rb | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) create mode 100755 bin/chromium diff --git a/Dockerfile b/Dockerfile index ae410717a..5820c945a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,7 @@ RUN apt-get update -qq && \ ENV PATH=/usr/share/nodejs/yarn/bin:$PATH -RUN yarn add puppeteer@npm:puppeteer-core +RUN yarn add puppeteer@npm:puppeteer-core@^22.15.0 ENV BUNDLE_PATH /usr/local/bundle/ @@ -39,7 +39,7 @@ RUN mkdir $APP_HOME RUN adduser --uid 1000 scinote RUN chown scinote:scinote $APP_HOME USER scinote -ENV CHROMIUM_PATH /usr/bin/chromium +ENV CHROMIUM_PATH=$APP_HOME/bin/chromium WORKDIR $APP_HOME CMD rails s -b 0.0.0.0 diff --git a/Dockerfile.production b/Dockerfile.production index a8e0d36f4..446793d18 100644 --- a/Dockerfile.production +++ b/Dockerfile.production @@ -104,7 +104,6 @@ USER scinote COPY --from=builder --chown=scinote:scinote $APP_HOME $APP_HOME -ENV CHROMIUM_PATH /usr/bin/chromium WORKDIR $APP_HOME CMD rails s -b 0.0.0.0 diff --git a/bin/chromium b/bin/chromium new file mode 100755 index 000000000..83cc39513 --- /dev/null +++ b/bin/chromium @@ -0,0 +1,2 @@ +#!/bin/bash +env -i /usr/bin/chromium $@ diff --git a/config/initializers/grover.rb b/config/initializers/grover.rb index 7f7989872..5d4baadf8 100644 --- a/config/initializers/grover.rb +++ b/config/initializers/grover.rb @@ -3,7 +3,7 @@ Grover.configure do |config| config.options = { cache: false, - executable_path: ENV['CHROMIUM_PATH'] || '/usr/bin/chromium', + executable_path: ENV['CHROMIUM_PATH'] || './bin/chromium', launch_args: %w(--disable-dev-shm-usage --disable-gpu --no-sandbox), timeout: Constants::GROVER_TIMEOUT_MS }