FROM amd64/ubuntu:18.04 # Install Node ENV NODE_VER="12.11.1" ENV ARCH="x64" RUN echo "Etc/UTC" > /etc/localtime && \ apt update && \ apt -y install wget python && \ cd ~ && \ wget https://nodejs.org/download/release/v$NODE_VER/node-v$NODE_VER-linux-$ARCH.tar.gz && \ tar xf node-v$NODE_VER-linux-$ARCH.tar.gz && \ rm node-v$NODE_VER-linux-$ARCH.tar.gz && \ mv node-v$NODE_VER-linux-$ARCH /opt/node # Install jemalloc ENV JE_VER="5.2.1" RUN apt update && \ apt -y install make autoconf gcc g++ && \ cd ~ && \ wget https://github.com/jemalloc/jemalloc/archive/$JE_VER.tar.gz && \ tar xf $JE_VER.tar.gz && \ cd jemalloc-$JE_VER && \ ./autogen.sh && \ ./configure --prefix=/opt/jemalloc && \ make -j$(nproc) > /dev/null && \ make install_bin install_include install_lib # Install ruby ENV RUBY_VER="2.6.5" ENV CPPFLAGS="-I/opt/jemalloc/include" ENV LDFLAGS="-L/opt/jemalloc/lib/" RUN apt update && \ apt -y install build-essential \ bison libyaml-dev libgdbm-dev libreadline-dev \ libncurses5-dev libffi-dev zlib1g-dev libssl-dev && \ cd ~ && \ wget https://cache.ruby-lang.org/pub/ruby/${RUBY_VER%.*}/ruby-$RUBY_VER.tar.gz && \ tar xf ruby-$RUBY_VER.tar.gz && \ cd ruby-$RUBY_VER && \ ./configure --prefix=/opt/ruby \ --with-jemalloc \ --with-shared \ --disable-install-doc && \ ln -s /opt/jemalloc/lib/* /usr/lib/ && \ make -j$(nproc) > /dev/null && \ make install ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin" RUN npm install -g yarn && \ gem install bundler && \ apt update && \ apt -y install git libicu-dev libidn11-dev \ libpq-dev libprotobuf-dev protobuf-compiler # Add tini ENV TINI_VERSION="0.18.0" ENV TINI_ARCH="amd64" ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-${TINI_ARCH} /tini ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-${TINI_ARCH}.asc /tini.asc RUN apt update && \ apt -y --no-install-recommends install gpg gpg-agent dirmngr RUN gpg --batch \ --keyserver hkp://p80.pool.sks-keyservers.net:80 \ --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ gpg --batch --verify /tini.asc /tini RUN chmod +rx /tini