X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/255ce8708a4e9099f9a9eaa92278a40629a4d883..20a65b2b942dc0eb4705c9fc73065d4487fdcf20:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 8fcfa40e3..40ad730cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,19 @@ -FROM ruby:2.5 +FROM ubuntu:20.04 -# 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 \ +# 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 \ @@ -19,13 +21,20 @@ RUN apt-get update && \ libxslt1-dev \ locales \ nodejs \ - osmosis \ - phantomjs \ postgresql-client \ - ruby-dev \ - yarn && \ - 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 + +ENV DEBIAN_FRONTEND=dialog # Setup app location RUN mkdir -p /app @@ -33,8 +42,10 @@ WORKDIR /app # Install Ruby packages ADD Gemfile Gemfile.lock /app/ -RUN bundle install +RUN gem install bundler \ + && bundle install -# Install NodeJS packages +# Install NodeJS packages using yarnpkg +# `bundle exec rake yarn:install` will not work ADD package.json yarn.lock /app/ -RUN yarn +RUN yarnpkg --ignore-engines install