FROM ubuntu:20.04 LABEL maintainer="Andrey Antukh " ARG DEBIAN_FRONTEND=noninteractive ENV LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 \ NODE_VERSION=v14.16.0 RUN set -ex; \ mkdir -p /etc/resolvconf/resolv.conf.d; \ echo "nameserver 8.8.8.8" > /etc/resolvconf/resolv.conf.d/tail; \ apt-get -qq update; \ apt-get -qqy --no-install-recommends install curl tzdata locales ca-certificates fontconfig xz-utils; \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \ locale-gen; \ rm -rf /var/lib/apt/lists/*; RUN set -ex; \ apt-get -qq update; \ apt-get -qqy install \ imagemagick \ netpbm \ potrace \ gconf-service \ libasound2 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcairo2 \ libcups2 \ libdbus-1-3 \ libexpat1 \ libfontconfig1 \ libgcc1 \ libgconf-2-4 \ libgdk-pixbuf2.0-0 \ libglib2.0-0 \ libgtk-3-0 \ libnspr4 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcb-dri3-0 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxi6 \ libxrandr2 \ libxrender1 \ libxshmfence1 \ libxss1 \ libxtst6 \ fonts-liberation \ libappindicator1 \ libnss3 \ libgbm1 \ ; \ rm -rf /var/lib/apt/lists/*; ENV PATH="/usr/local/nodejs/bin:$PATH" RUN set -eux; \ ARCH="$(dpkg --print-architecture)"; \ case "${ARCH}" in \ aarch64|arm64) \ BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-arm64.tar.xz"; \ ;; \ armhf|armv7l) \ BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-armv7l.tar.xz"; \ ;; \ amd64|x86_64) \ BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.xz"; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ exit 1; \ ;; \ esac; \ curl -LfsSo /tmp/nodejs.tar.xz ${BINARY_URL}; \ mkdir -p /usr/local/nodejs; \ cd /usr/local/nodejs; \ tar -xf /tmp/nodejs.tar.xz --strip-components=1; \ chown -R root /usr/local/nodejs; \ /usr/local/nodejs/bin/npm install -g yarn; \ rm -rf /tmp/nodejs.tar.xz; WORKDIR /opt/app ADD ./bundle-exporter/ /opt/app/ RUN set -ex; yarn install; CMD ["/usr/local/nodejs/bin/node", "app.js"]