]> git.openstreetmap.org Git - rails.git/blob - Dockerfile
Ignore .bundle/config
[rails.git] / Dockerfile
1 FROM ubuntu:22.04
2
3 ENV DEBIAN_FRONTEND=noninteractive
4
5 # Install system packages then clean up to minimize image size
6 RUN apt-get update \
7  && apt-get install --no-install-recommends -y \
8       build-essential \
9       curl \
10       default-jre-headless \
11       file \
12       gpg-agent \
13       libarchive-dev \
14       libffi-dev \
15       libgd-dev \
16       libpq-dev \
17       libsasl2-dev \
18       libvips-dev \
19       libxml2-dev \
20       libxslt1-dev \
21       locales \
22       postgresql-client \
23       ruby3.0 \
24       ruby3.0-dev \
25       software-properties-common \
26       tzdata \
27       unzip \
28  && curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
29  && add-apt-repository -y -U https://deb.nodesource.com/node_18.x \
30  && apt-get install --no-install-recommends -y \
31       nodejs \
32  && npm install --global yarn \
33  && add-apt-repository -y ppa:mozillateam/ppa \
34  && echo "Package: *\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" > /etc/apt/preferences.d/mozilla-firefox \
35  && apt-get install --no-install-recommends -y \
36       firefox-geckodriver \
37  && apt-get clean \
38  && rm -rf /var/lib/apt/lists/*
39
40 # Install compatible Osmosis to help users import sample data in a new instance
41 RUN curl -OL https://github.com/openstreetmap/osmosis/releases/download/0.47.2/osmosis-0.47.2.tgz \
42  && tar -C /usr/local -xzf osmosis-0.47.2.tgz
43
44 ENV DEBIAN_FRONTEND=dialog
45
46 # Setup app location
47 RUN mkdir -p /app
48 WORKDIR /app
49
50 # Install Ruby packages
51 ADD Gemfile Gemfile.lock /app/
52 RUN gem install bundler \
53  && bundle install
54
55 # Install NodeJS packages using yarn
56 ADD package.json yarn.lock /app/
57 ADD bin/yarn /app/bin/
58 RUN bundle exec bin/yarn install