X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/255ce8708a4e9099f9a9eaa92278a40629a4d883..afa3a3728d4b7b4b8b560cbf3ad248388d474467:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 8fcfa40e3..dae25be3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,41 @@ -FROM ruby:2.5 +FROM debian:bookworm -# Add yarn apt repository -# https://classic.yarnpkg.com/en/docs/install#debian-stable -RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list +ENV DEBIAN_FRONTEND=noninteractive -# Install system packages -RUN apt-get update && \ - apt-get install --no-install-recommends -y \ - build-essential \ - imagemagick \ - libarchive-dev \ - libffi-dev \ - libmagickwand-dev \ - libpq-dev \ - libsasl2-dev \ - libxml2-dev \ - libxslt1-dev \ - locales \ - nodejs \ - osmosis \ - phantomjs \ - postgresql-client \ - ruby-dev \ - yarn && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* +# 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 \ + 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 yarn globally +RUN npm install --global yarn + +ENV DEBIAN_FRONTEND=dialog # Setup app location RUN mkdir -p /app @@ -35,6 +45,7 @@ WORKDIR /app ADD Gemfile Gemfile.lock /app/ RUN bundle install -# Install NodeJS packages +# Install NodeJS packages using yarn ADD package.json yarn.lock /app/ -RUN yarn +ADD bin/yarn /app/bin/ +RUN bundle exec bin/yarn install