]> git.openstreetmap.org Git - rails.git/blobdiff - Dockerfile
Merge remote-tracking branch 'upstream/pull/5230'
[rails.git] / Dockerfile
index 33812d25d6d22a70308ec64eb5803b7ead6d367a..dae25be3fcc3b848d15b02844f3687aaecbf7914 100644 (file)
@@ -1,38 +1,39 @@
-FROM ubuntu:20.04
+FROM debian:bookworm
 
 ENV DEBIAN_FRONTEND=noninteractive
 
 
 ENV DEBIAN_FRONTEND=noninteractive
 
-# Install system packages
+# Install system packages then clean up to minimize image size
 RUN apt-get update \
 RUN apt-get update \
- && apt-get install --no-install-recommends -y \
-      build-essential \
-      curl \
-      default-jre-headless \
-      file \
-      firefox-geckodriver \
-      imagemagick \
-      libarchive-dev \
-      libffi-dev \
-      libgd-dev \
-      libmagickwand-dev \
-      libpq-dev \
-      libsasl2-dev \
-      libxml2-dev \
-      libxslt1-dev \
-      locales \
-      nodejs \
-      postgresql-client \
-      ruby2.7 \
-      ruby2.7-dev \
-      tzdata \
-      unzip \
-      yarnpkg \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
+  && apt-get install --no-install-recommends -y \
+  build-essential \
+  curl \
+  default-jre-headless \
+  file \
+  git-core \
+  gpg-agent \
+  libarchive-dev \
+  libffi-dev \
+  libgd-dev \
+  libpq-dev \
+  libsasl2-dev \
+  libvips-dev \
+  libxml2-dev \
+  libxslt1-dev \
+  libyaml-dev \
+  locales \
+  postgresql-client \
+  ruby-dev \
+  ruby-bundler \
+  tzdata \
+  unzip \
+  nodejs \
+  npm \
+  osmosis \
+  ca-certificates \
+  firefox-esr
 
 
-# Install current Osmosis
-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
+# Install yarn globally
+RUN npm install --global yarn
 
 ENV DEBIAN_FRONTEND=dialog
 
 
 ENV DEBIAN_FRONTEND=dialog
 
@@ -42,9 +43,9 @@ WORKDIR /app
 
 # Install Ruby packages
 ADD Gemfile Gemfile.lock /app/
 
 # Install Ruby packages
 ADD Gemfile Gemfile.lock /app/
-RUN gem install bundler \
- && bundle install
+RUN bundle install
 
 
-# Install NodeJS packages
+# Install NodeJS packages using yarn
 ADD package.json yarn.lock /app/
 ADD package.json yarn.lock /app/
-RUN yarnpkg install
+ADD bin/yarn /app/bin/
+RUN bundle exec bin/yarn install