diff --git a/docker/server/Dockerfile b/docker/server/Dockerfile index 0387b81..6c774cf 100644 --- a/docker/server/Dockerfile +++ b/docker/server/Dockerfile @@ -1,41 +1,23 @@ -FROM node:18 as builder - -ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true -ENV PUPPETEER_EXECUTABLE_PATH /usr/bin/chromium - -WORKDIR /app - -RUN chown -R node:node . - -USER node - -COPY --chown=node:node package.json package.json -COPY --chown=node:node package-lock.json package-lock.json -RUN CXX=g++-12 npm install - -COPY --chown=node:node src src -COPY --chown=node:node tsconfig.json tsconfig.json -RUN npm run build - -FROM node:18 as app +FROM node:18 LABEL org.opencontainers.image.source https://github.com/cgduncan7/autobaan -ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true -ENV PUPPETEER_EXECUTABLE_PATH /usr/bin/chromium - -RUN apt-get update && apt-get install -y gcc chromium fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 --no-install-recommends +RUN apt-get update \ + && apt-get install -y gcc chromium fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 --no-install-recommends RUN npm i -g node-gyp WORKDIR /app RUN chown -R node:node . -COPY --from=builder /app/dist ./dist -COPY --chown=node:node package.json package.json -COPY --chown=node:node package-lock.json package-lock.json - USER node -RUN CXX=g++-12 npm install --omit=dev +COPY --chown=node:node package.json package.json +COPY --chown=node:node package-lock.json package-lock.json +RUN CXX=g++-12 npm install argon2 +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true +ENV PUPPETEER_EXECUTABLE_PATH /usr/bin/chromium +RUN npm install -EXPOSE 3000 +COPY --chown=node:node src src +COPY --chown=node:node tsconfig.json tsconfig.json +RUN npm run build ENTRYPOINT node dist/server/index.js \ No newline at end of file