X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c514fd62fe005d8d41a39e11508a3aee6ba9946d..3ff8ef52b71d544e6660ea7823a43397165cd180:/Dockerfile?ds=sidebyside diff --git a/Dockerfile b/Dockerfile index 978834105..7d5d4982c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1,50 @@ -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 \ - imagemagick \ + default-jre-headless \ + file \ + firefox-geckodriver \ libarchive-dev \ libffi-dev \ - libmagickwand-dev \ + libgd-dev \ libpq-dev \ libsasl2-dev \ + libvips-dev \ libxml2-dev \ 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 rails yarn:install` will not work +ADD package.json yarn.lock /app/ +RUN yarnpkg --ignore-engines install