Use official nodejs base image, slim down image

- Playwright 1.35 supports debian 11 (bullseye), for debian 12 (bookworm) support, playwright needs to be updated
- Ensure all apt & yarn caches are cleaned in the same step they are used (slims down image)
- Image uses a lot less steps now, and slimmed down form ~4GB to 2.5GB
This commit is contained in:
Mathias Petermann 2023-09-19 21:41:40 +02:00
parent f242d8289a
commit 3eb273c25e
No known key found for this signature in database
GPG Key ID: DADC3DF6E81B66C1

View File

@ -1,27 +1,22 @@
# playwright doesnt support debian image
FROM ubuntu:focal
FROM node:20-bullseye-slim
RUN apt-get update && apt-get install wget xz-utils -y
ARG DEBIAN_FRONTEND=noninteractive
RUN mkdir /data
WORKDIR /data
RUN wget https://nodejs.org/dist/v20.5.0/node-v20.5.0-linux-x64.tar.xz -O nodejs.tar.xz \
&& mkdir /opt/nodejs \
&& tar -xf nodejs.tar.xz --strip-components 1 -C /opt/nodejs \
&& rm nodejs.tar.xz
ENV PATH="$PATH:/opt/nodejs/bin"
RUN npm install -g yarn
COPY ./package.json ./yarn.lock ./playwright.config.ts ./
RUN yarn
RUN npx playwright install-deps
RUN yarn && \
npx playwright install-deps && \
apt-get clean && \
yarn cache clean
COPY . .
RUN yarn prisma generate
RUN yarn build
RUN yarn prisma generate && \
yarn build
CMD yarn prisma migrate deploy && yarn start