X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c514fd62fe005d8d41a39e11508a3aee6ba9946d..9e496e44c49d0f8e85587c60683d9d1514ae24cc:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 978834105..40ad730cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,19 @@ -FROM ruby:2.5 +FROM ubuntu:20.04 -# 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 +ENV DEBIAN_FRONTEND=noninteractive -# 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 \ +# 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 \ @@ -24,29 +21,31 @@ RUN apt-get update && \ libxslt1-dev \ locales \ nodejs \ - osmosis \ postgresql-client \ - ruby-dev && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* + ruby2.7 \ + ruby2.7-dev \ + tzdata \ + unzip \ + yarnpkg \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# 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 -# install npm packages -RUN npm install -g --unsafe-perm \ - phantomjs-prebuilt \ - yarn +ENV DEBIAN_FRONTEND=dialog # Setup app location RUN mkdir -p /app WORKDIR /app -# Install gems -ADD Gemfile* /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 +# Install Ruby packages +ADD Gemfile Gemfile.lock /app/ +RUN gem install bundler \ + && bundle install -ENV LANG en_GB.UTF-8 +# Install NodeJS packages using yarnpkg +# `bundle exec rake yarn:install` will not work +ADD package.json yarn.lock /app/ +RUN yarnpkg --ignore-engines install