-FROM ubuntu:22.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 \
- gpg-agent \
- libarchive-dev \
- libffi-dev \
- libgd-dev \
- libpq-dev \
- libsasl2-dev \
- libvips-dev \
- libxml2-dev \
- libxslt1-dev \
- locales \
- postgresql-client \
- ruby3.0 \
- ruby3.0-dev \
- software-properties-common \
- tzdata \
- unzip \
- nodejs \
- npm \
- && npm install --global yarn \
- # We can't use snap packages for firefox inside a container, so we need to get firefox+geckodriver elsewhere
- && add-apt-repository -y ppa:mozillateam/ppa \
- && echo "Package: *\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" > /etc/apt/preferences.d/mozilla-firefox \
- && apt-get install --no-install-recommends -y \
- firefox-geckodriver \
- && 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 yarn
ADD package.json yarn.lock /app/