2023-02-24 16:32:15 +08:00
|
|
|
ARG APT_SOURCE="default"
|
2022-12-12 19:45:15 +08:00
|
|
|
|
2023-02-24 16:32:15 +08:00
|
|
|
FROM node:19 as builder-default
|
|
|
|
|
ENV NPM_REGISTRY="https://registry.npmjs.org"
|
|
|
|
|
|
|
|
|
|
FROM node:19 as builder-aliyun
|
|
|
|
|
|
|
|
|
|
ENV NPM_REGISTRY="https://registry.npmmirror.com"
|
|
|
|
|
RUN sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list \
|
|
|
|
|
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
|
|
|
|
|
|
|
|
|
|
FROM builder-${APT_SOURCE} AS builder
|
2022-12-12 19:45:15 +08:00
|
|
|
# Instal the 'apt-utils' package to solve the error 'debconf: delaying package configuration, since apt-utils is not installed'
|
|
|
|
|
# https://peteris.rocks/blog/quiet-and-unattended-installation-with-apt-get/
|
|
|
|
|
RUN apt-get update \
|
|
|
|
|
&& apt-get install -y --no-install-recommends \
|
|
|
|
|
apt-utils \
|
|
|
|
|
autoconf \
|
|
|
|
|
automake \
|
|
|
|
|
bash \
|
|
|
|
|
build-essential \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
chromium \
|
|
|
|
|
coreutils \
|
|
|
|
|
curl \
|
|
|
|
|
ffmpeg \
|
|
|
|
|
figlet \
|
|
|
|
|
git \
|
|
|
|
|
gnupg2 \
|
|
|
|
|
jq \
|
|
|
|
|
libgconf-2-4 \
|
|
|
|
|
libtool \
|
|
|
|
|
libxtst6 \
|
|
|
|
|
moreutils \
|
|
|
|
|
python-dev \
|
|
|
|
|
shellcheck \
|
|
|
|
|
sudo \
|
|
|
|
|
tzdata \
|
|
|
|
|
vim \
|
|
|
|
|
wget \
|
|
|
|
|
&& apt-get purge --auto-remove \
|
|
|
|
|
&& rm -rf /tmp/* /var/lib/apt/lists/*
|
|
|
|
|
|
2023-02-24 16:32:15 +08:00
|
|
|
FROM builder
|
|
|
|
|
|
|
|
|
|
ENV CHROME_BIN="/usr/bin/chromium" \
|
|
|
|
|
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
|
2022-12-12 19:45:15 +08:00
|
|
|
|
|
|
|
|
RUN mkdir -p /app
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
COPY package.json ./
|
2023-02-24 16:32:15 +08:00
|
|
|
RUN npm config set registry ${NPM_REGISTRY} && npm i
|
2022-12-12 19:45:15 +08:00
|
|
|
|
|
|
|
|
COPY *.js ./
|
|
|
|
|
COPY src/ ./src/
|
|
|
|
|
|
|
|
|
|
CMD ["npm", "run", "dev"]
|