diff --git a/Dockerfile b/Dockerfile index a19ebea..a29d071 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,14 @@ -FROM node:18.12.1 -RUN apt-get update \ - && apt-get install -y wget gnupg \ - && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ +FROM ubuntu:latest +COPY ["package.json", "yarn.lock", "/usr/src/"] +WORKDIR /usr/src +COPY [".", "/usr/src/"] +RUN apt-get update +RUN apt-get install -y wget gnupg curl +RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\ + apt-get install -y nodejs +RUN npm install --global yarn +RUN yarn +RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ && apt-get update \ && apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \ @@ -11,9 +18,9 @@ RUN yarn add puppeteer \ && groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \ && mkdir -p /home/pptruser/Downloads \ && chown -R pptruser:pptruser /home/pptruser \ - && chown -R pptruser:pptruser /node_modules \ - && chown -R pptruser:pptruser /package.json \ - && chown -R pptruser:pptruser /yarn.lock + && chown -R pptruser:pptruser ./node_modules \ + && chown -R pptruser:pptruser ./package.json \ + && chown -R pptruser:pptruser ./yarn.lock RUN apt-get update -y RUN apt-get upgrade -y RUN apt-get install -y gconf-service libasound2 libatk1.0-0 libatk-bridge2.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 wget diff --git a/dev.Dockerfile b/dev.Dockerfile new file mode 100644 index 0000000..365f02d --- /dev/null +++ b/dev.Dockerfile @@ -0,0 +1,32 @@ +FROM ubuntu:latest +COPY ["package.json", "yarn.lock", "/usr/src/"] +WORKDIR /usr/src +COPY [".", "/usr/src/"] +RUN apt-get update +RUN apt-get install -y wget gnupg curl +RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\ + apt-get install -y nodejs +RUN npm install --global yarn +RUN yarn +RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ + && apt-get update \ + && apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \ + --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* +RUN yarn add puppeteer \ + && groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \ + && mkdir -p /home/pptruser/Downloads \ + && chown -R pptruser:pptruser /home/pptruser \ + && chown -R pptruser:pptruser ./node_modules \ + && chown -R pptruser:pptruser ./package.json \ + && chown -R pptruser:pptruser ./yarn.lock +RUN apt-get update -y +RUN apt-get upgrade -y +RUN apt-get install -y gconf-service libasound2 libatk1.0-0 libatk-bridge2.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 wget +RUN apt-get install -y libgbm-dev +WORKDIR /usr/src/app +COPY package.json ./ +COPY . ./ +RUN yarn install --frozen-lockfile && node node_modules/puppeteer/install.js +CMD yarn run dev \ No newline at end of file