X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c514fd62fe005d8d41a39e11508a3aee6ba9946d..377391e8bb4294a539d5363a20af51243877243c:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 978834105..dae25be3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1,51 @@ -FROM ruby:2.5 - -# fixes dpkg man page softlink error while installing postgresql-client [source: https://stackoverflow.com/a/52655008/5350059] -RUN mkdir -p /usr/share/man/man1 && \ - mkdir -p /usr/share/man/man7 - -# npm is not available in Debian repo so following official instruction [source: https://github.com/nodesource/distributions/blob/master/README.md#debinstall] -RUN curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh && \ - bash nodesource_setup.sh && \ - rm -f nodesource_setup.sh - -# install packages -RUN apt-get update && \ - apt-get install --no-install-recommends -y \ - build-essential \ - curl \ - imagemagick \ - libarchive-dev \ - libffi-dev \ - libmagickwand-dev \ - libpq-dev \ - libsasl2-dev \ - libxml2-dev \ - libxslt1-dev \ - locales \ - nodejs \ - osmosis \ - postgresql-client \ - ruby-dev && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# install npm packages -RUN npm install -g --unsafe-perm \ - phantomjs-prebuilt \ - yarn +FROM debian:bookworm + +ENV DEBIAN_FRONTEND=noninteractive + +# 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 WORKDIR /app -# Install gems -ADD Gemfile* /app/ +# Install Ruby packages +ADD Gemfile Gemfile.lock /app/ RUN bundle install -# Setup local -RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen && \ - echo 'LANG="en_GB.UTF-8"'>/etc/default/locale && \ - dpkg-reconfigure --frontend=noninteractive locales && \ - update-locale LANG=en_GB.UTF-8 - -ENV LANG en_GB.UTF-8 +# Install NodeJS packages using yarn +ADD package.json yarn.lock /app/ +ADD bin/yarn /app/bin/ +RUN bundle exec bin/yarn install