]> git.openstreetmap.org Git - rails.git/blobdiff - Dockerfile
Merge branch 'pull/5142'
[rails.git] / Dockerfile
index c85a6404606d99bd8ef4a416f6eed2a7c6319881..1c5638275083f50bfce7ca303f7a9014ca82bee7 100644 (file)
@@ -9,6 +9,7 @@ RUN apt-get update \
       curl \
       default-jre-headless \
       file \
       curl \
       default-jre-headless \
       file \
+      git-core \
       gpg-agent \
       libarchive-dev \
       libffi-dev \
       gpg-agent \
       libarchive-dev \
       libffi-dev \
@@ -18,16 +19,22 @@ RUN apt-get update \
       libvips-dev \
       libxml2-dev \
       libxslt1-dev \
       libvips-dev \
       libxml2-dev \
       libxslt1-dev \
+      libyaml-dev \
       locales \
       postgresql-client \
       locales \
       postgresql-client \
-      ruby3.0 \
-      ruby3.0-dev \
+      ruby \
+      ruby-dev \
+      ruby-bundler \
       software-properties-common \
       tzdata \
       software-properties-common \
       tzdata \
-      unzip \
-      nodejs \
-      npm \
- && npm install --global yarn \
+      unzip
+
+# Install Node.js 18 and npm
+RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
+ && apt-get install -y nodejs
+
+# Install yarn globally
+RUN 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 \
  # 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 \
@@ -48,8 +55,7 @@ WORKDIR /app
 
 # Install Ruby packages
 ADD Gemfile Gemfile.lock /app/
 
 # 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/
 
 # Install NodeJS packages using yarn
 ADD package.json yarn.lock /app/