X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e19e58f059a39d3e9591a8d870f6a26695ca9c21..73170726e2e1c6f5dcbb649f82c4a845b9d6e980:/Dockerfile?ds=inline diff --git a/Dockerfile b/Dockerfile index 701f8dfcc..dae25be3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,38 +1,39 @@ -FROM ubuntu:20.04 +FROM debian:bookworm 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 \ - 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/* - -# 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 + && 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 @@ -42,12 +43,9 @@ WORKDIR /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/ -RUN yarnpkg install - -# Create directories for traces and images -RUN mkdir -pv /home/osm/traces /home/osm/images +ADD bin/yarn /app/bin/ +RUN bundle exec bin/yarn install