X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5be5155e03b9e7989d2c8d3d244511c0b9b13eb7..adc81f010d0e888a06684e3544b296fb85e520c8:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 7d5d4982c..f3c56e161 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive @@ -9,7 +9,7 @@ RUN apt-get update \ curl \ default-jre-headless \ file \ - firefox-geckodriver \ + gpg-agent \ libarchive-dev \ libffi-dev \ libgd-dev \ @@ -19,13 +19,21 @@ RUN apt-get update \ libxml2-dev \ libxslt1-dev \ locales \ - nodejs \ postgresql-client \ - ruby2.7 \ - ruby2.7-dev \ + ruby \ + ruby-dev \ + ruby-bundler \ + software-properties-common \ tzdata \ unzip \ - yarnpkg \ + nodejs \ + npm \ + && npm install --global yarn \ + # We can't use snap packages for firefox inside a container, so we need to get firefox+geckodriver elsewhere + && add-apt-repository -y ppa:mozillateam/ppa \ + && echo "Package: *\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" > /etc/apt/preferences.d/mozilla-firefox \ + && apt-get install --no-install-recommends -y \ + firefox-geckodriver \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* @@ -41,10 +49,9 @@ WORKDIR /app # Install Ruby packages ADD Gemfile Gemfile.lock /app/ -RUN gem install bundler \ - && bundle install +RUN bundle install -# Install NodeJS packages using yarnpkg -# `bundle exec rails yarn:install` will not work +# Install NodeJS packages using yarn ADD package.json yarn.lock /app/ -RUN yarnpkg --ignore-engines install +ADD bin/yarn /app/bin/ +RUN bundle exec bin/yarn install