2022-08-06 02:49:18 +00:00
|
|
|
FROM ubuntu:20.04
|
2018-11-28 21:37:03 +00:00
|
|
|
LABEL author="Lossless GmbH <hello@lossless.com>"
|
2018-11-26 19:36:03 +00:00
|
|
|
|
2018-05-16 16:05:55 +00:00
|
|
|
WORKDIR /workspace
|
2016-06-04 01:19:20 +00:00
|
|
|
# important environment variables
|
2022-08-05 13:35:35 +00:00
|
|
|
ENV NODE_VERSION_LTS="16.16.0" NODE_VERSION_STABLE="18.7.0" NVM_DIR="/usr/local/nvm"
|
2016-06-04 00:43:39 +00:00
|
|
|
|
2016-06-04 01:19:20 +00:00
|
|
|
# Set debconf to run non-interactively and install packages
|
|
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
|
|
|
|
&& apt-get update \
|
2016-04-23 23:34:44 +00:00
|
|
|
&& apt-get upgrade --no-install-recommends -y \
|
|
|
|
&& apt-get install -y -q --no-install-recommends \
|
2021-11-07 15:24:04 +00:00
|
|
|
# base libs
|
2016-04-23 23:34:44 +00:00
|
|
|
software-properties-common \
|
2016-02-27 23:15:12 +00:00
|
|
|
apt-transport-https \
|
|
|
|
build-essential \
|
|
|
|
ca-certificates \
|
2021-11-12 17:43:09 +00:00
|
|
|
gpg-agent \
|
2016-02-27 23:15:12 +00:00
|
|
|
curl \
|
2017-09-12 18:29:06 +00:00
|
|
|
g++ \
|
|
|
|
gcc \
|
2016-02-27 23:15:12 +00:00
|
|
|
git \
|
2017-09-12 18:29:06 +00:00
|
|
|
make \
|
2016-06-25 19:04:10 +00:00
|
|
|
openssl \
|
2016-02-27 23:15:12 +00:00
|
|
|
python \
|
2021-10-22 17:34:39 +00:00
|
|
|
python3 \
|
2016-02-27 23:15:12 +00:00
|
|
|
rsync \
|
2017-09-12 18:29:06 +00:00
|
|
|
ssh \
|
2017-06-30 15:13:37 +00:00
|
|
|
wget \
|
2021-11-07 17:44:28 +00:00
|
|
|
# puppeteer
|
|
|
|
gconf-service \
|
|
|
|
libasound2 \
|
|
|
|
libatk1.0-0 \
|
|
|
|
libc6 \
|
|
|
|
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 \
|
|
|
|
libstdc++6 \
|
|
|
|
libx11-6 \
|
|
|
|
libx11-xcb1 \
|
|
|
|
libxcb1 \
|
|
|
|
libxcomposite1 \
|
|
|
|
libxcursor1 \
|
|
|
|
libxdamage1 \
|
|
|
|
libxext6 \
|
|
|
|
libxfixes3 \
|
|
|
|
libxi6 \
|
|
|
|
libxrandr2 \
|
|
|
|
libxrender1 \
|
|
|
|
libxss1 \
|
|
|
|
libxtst6 \
|
|
|
|
ca-certificates \
|
|
|
|
fonts-liberation \
|
|
|
|
libappindicator1 \
|
|
|
|
libnss3 \
|
|
|
|
lsb-release \
|
|
|
|
xdg-utils \
|
2021-11-12 17:19:15 +00:00
|
|
|
|
|
|
|
# chrome
|
2021-11-07 18:01:54 +00:00
|
|
|
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
|
|
|
&& apt install -y -q --no-install-recommends ./google-chrome-stable_current_amd64.deb \
|
2021-11-12 17:19:15 +00:00
|
|
|
|
|
|
|
# mongodb
|
2021-11-12 17:24:58 +00:00
|
|
|
&& curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - \
|
2021-11-12 17:19:15 +00:00
|
|
|
&& echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list \
|
2021-11-12 17:46:42 +00:00
|
|
|
&& apt-get update \
|
2021-11-12 17:19:15 +00:00
|
|
|
&& apt-get install -y -q --no-install-recommends \
|
|
|
|
mongodb-org \
|
2016-04-23 23:34:44 +00:00
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -r /var/lib/apt/lists/*
|
2016-02-24 19:57:17 +00:00
|
|
|
|
2016-02-27 23:15:12 +00:00
|
|
|
# Install nvm with node and npm
|
2017-12-15 16:55:01 +00:00
|
|
|
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
|
2022-10-11 08:42:42 +00:00
|
|
|
|
|
|
|
RUN bash -c "source $NVM_DIR/nvm.sh \
|
|
|
|
&& nvm install $NODE_VERSION_STABLE \
|
|
|
|
&& nvm alias default $NODE_VERSION_STABLE \
|
|
|
|
&& nvm use default \
|
|
|
|
&& npm config set unsafe-perm true \
|
|
|
|
&& npm install -g agentkeepalive \
|
|
|
|
&& npm install -g npm"
|
|
|
|
|
|
|
|
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_STABLE/lib/node_modules
|
|
|
|
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_STABLE/bin:$PATH
|
|
|
|
|
|
|
|
ENV PNPM_HOME="/root/.local/share/pnpm/pnpm"
|
|
|
|
RUN mkdir -p ${PNPM_HOME}
|
|
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
|
|
RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm && pnpm -v
|