diff --git a/Dockerfile b/Dockerfile index a29d071..372fcec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,7 @@ -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 - \ +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 - \ && 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 \ @@ -18,9 +11,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 @@ -28,5 +21,5 @@ 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 start \ No newline at end of file +RUN yarn install && node node_modules/puppeteer/install.js +CMD if [ "$NODE_ENV" = "development" ] ; then yarn run dev ; else yarn run start ; fi diff --git a/dev.Dockerfile b/dev.Dockerfile deleted file mode 100644 index 365f02d..0000000 --- a/dev.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..85ab608 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: "2.9" + +services: + app: + build: . + volumes: + - .:/usr/src + - /usr/src/node_modules + environment: + NODE_ENV: ${NODE_ENV} \ No newline at end of file diff --git a/package.json b/package.json index 4e884d4..787e514 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "scripts": { "start": "node deploy-commands.js && node app.js", - "dev": "node deploy-commands.js && nodemon app.js" + "dev": "node deploy-commands.js && nodemon -L app.js" }, "dependencies": { "discord.js": "^14.6.0", "dotenv": "^16.0.3", "jsdom": "^20.0.2", - "puppeteer": "^19.2.2" + "puppeteer": "16.2.0" }, "name": "shopping-discord-bot", "version": "1.0.0",