]> git.openstreetmap.org Git - rails.git/blobdiff - Dockerfile
Limit coveralls to reading lcov output
[rails.git] / Dockerfile
index 33812d25d6d22a70308ec64eb5803b7ead6d367a..78be28838980e2d561641071d48659fd2ac40ddd 100644 (file)
@@ -1,36 +1,43 @@
-FROM ubuntu:20.04
+FROM ubuntu:22.04
 
 ENV DEBIAN_FRONTEND=noninteractive
 
-# Install system packages
+# Install system packages then clean up to minimize image size
 RUN apt-get update \
  && apt-get install --no-install-recommends -y \
       build-essential \
       curl \
       default-jre-headless \
       file \
-      firefox-geckodriver \
-      imagemagick \
+      gpg-agent \
       libarchive-dev \
       libffi-dev \
       libgd-dev \
-      libmagickwand-dev \
       libpq-dev \
       libsasl2-dev \
+      libvips-dev \
       libxml2-dev \
       libxslt1-dev \
       locales \
-      nodejs \
       postgresql-client \
-      ruby2.7 \
-      ruby2.7-dev \
+      ruby3.0 \
+      ruby3.0-dev \
+      software-properties-common \
       tzdata \
       unzip \
-      yarnpkg \
+ && curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
+ && add-apt-repository -y -U https://deb.nodesource.com/node_18.x \
+ && apt-get install --no-install-recommends -y \
+      nodejs \
+ && npm install --global yarn \
+ && 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/*
 
-# Install current Osmosis
+# Install compatible Osmosis to help users import sample data in a new instance
 RUN curl -OL https://github.com/openstreetmap/osmosis/releases/download/0.47.2/osmosis-0.47.2.tgz \
  && tar -C /usr/local -xzf osmosis-0.47.2.tgz
 
@@ -45,6 +52,7 @@ ADD Gemfile Gemfile.lock /app/
 RUN gem install bundler \
  && bundle install
 
-# Install NodeJS packages
+# Install NodeJS packages using yarn
 ADD package.json yarn.lock /app/
-RUN yarnpkg install
+ADD bin/yarn /app/bin/
+RUN bundle exec bin/yarn install