-FROM ubuntu:20.04
+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 \
- 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/*
+ && 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 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 yarn globally
+RUN npm install --global yarn
ENV DEBIAN_FRONTEND=dialog
# Install Ruby packages
ADD Gemfile Gemfile.lock /app/
-RUN gem install bundler \
- && bundle install
+RUN bundle install
-# Install NodeJS packages using yarnpkg
-# `bundle exec rake yarn:install` will not work
+# Install NodeJS packages using yarn
ADD package.json yarn.lock /app/
-RUN yarnpkg --ignore-engines install
+ADD bin/yarn /app/bin/
+RUN bundle exec bin/yarn install