3 ENV DEBIAN_FRONTEND=noninteractive
 
   5 # Install system packages then clean up to minimize image size
 
   7  && apt-get install --no-install-recommends -y \
 
  10       default-jre-headless \
 
  28       software-properties-common \
 
  32 # Install Node.js 18 and npm
 
  33 RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
 
  34  && apt-get install -y nodejs
 
  36 # Install yarn globally
 
  37 RUN npm install --global yarn \
 
  38  # We can't use snap packages for firefox inside a container, so we need to get firefox+geckodriver elsewhere
 
  39  && add-apt-repository -y ppa:mozillateam/ppa \
 
  40  && echo "Package: *\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" > /etc/apt/preferences.d/mozilla-firefox \
 
  41  && apt-get install --no-install-recommends -y \
 
  44  && rm -rf /var/lib/apt/lists/*
 
  46 # Install compatible Osmosis to help users import sample data in a new instance
 
  47 RUN curl -OL https://github.com/openstreetmap/osmosis/releases/download/0.47.2/osmosis-0.47.2.tgz \
 
  48  && tar -C /usr/local -xzf osmosis-0.47.2.tgz
 
  50 ENV DEBIAN_FRONTEND=dialog
 
  56 # Install Ruby packages
 
  57 ADD Gemfile Gemfile.lock /app/
 
  60 # Install NodeJS packages using yarn
 
  61 ADD package.json yarn.lock /app/
 
  62 ADD bin/yarn /app/bin/
 
  63 RUN bundle exec bin/yarn install