| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:6c214fc3c3c22122c7eb68f7fb32783df308e60b1eaeb9baf7e4d0cc961d448d in / |
| CMD ["/bin/bash"] |
| ARG DEBIAN_FRONTEND=noninteractive |
| ARG TZ=America/Los_Angeles |
| ARG DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble |
| ARG NODE_VERSION=24 # autogenerated via ./update-playwright-node.mjs |
| ARG UBUNTU_MIRROR_PREFIX=azure. |
| ENV LANG=C.UTF-8 |
| ENV LC_ALL=C.UTF-8 |
| RUN |9 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble NODE_VERSION=24 #= autogenerated= via= ./update-playwright-node.mjs= UBUNTU_MIRROR_PREFIX=azure. /bin/sh -c find /etc/apt -type f \( -name '*.list' -o -name '*.sources' \) -exec sed -i "s|http://archive.ubuntu.com|http://${UBUNTU_MIRROR_PREFIX}archive.ubuntu.com|g; s|http://ports.ubuntu.com|http://${UBUNTU_MIRROR_PREFIX}ports.ubuntu.com|g" {} + && apt-get update && apt-get install -y curl wget gpg ca-certificates && mkdir -p /etc/apt/keyrings && curl -sL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_VERSION}.x nodistro main" >> /etc/apt/sources.list.d/nodesource.list && apt-get update && apt-get install -y nodejs && apt-get install -y --no-install-recommends git openssh-client zstd && npm install -g yarn && rm -rf /var/lib/apt/lists/* && adduser pwuser # buildkit |
| ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright |
| COPY ./playwright-core.tar.gz /tmp/playwright-core.tar.gz # buildkit |
| RUN |9 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble NODE_VERSION=24 #= autogenerated= via= ./update-playwright-node.mjs= UBUNTU_MIRROR_PREFIX=azure. /bin/sh -c install -d -m 777 /ms-playwright /ms-playwright/.links && mkdir /ms-playwright-agent && cd /ms-playwright-agent && npm init -y && npm i /tmp/playwright-core.tar.gz && npm exec --no -- playwright-core mark-docker-image "${DOCKER_IMAGE_NAME_TEMPLATE}" && npm exec --no -- playwright-core install-deps && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |9 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble NODE_VERSION=24 #= autogenerated= via= ./update-playwright-node.mjs= UBUNTU_MIRROR_PREFIX=azure. /bin/sh -c cd /ms-playwright-agent && npm exec --no -- playwright-core install chromium && chmod -R 777 /ms-playwright/chromium-* /ms-playwright/chromium_headless_shell-* /ms-playwright/ffmpeg-* # buildkit |
| RUN |9 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble NODE_VERSION=24 #= autogenerated= via= ./update-playwright-node.mjs= UBUNTU_MIRROR_PREFIX=azure. /bin/sh -c cd /ms-playwright-agent && npm exec --no -- playwright-core install firefox && chmod -R 777 /ms-playwright/firefox-* # buildkit |
| RUN |9 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles DOCKER_IMAGE_NAME_TEMPLATE=mcr.microsoft.com/playwright:v%version%-noble NODE_VERSION=24 #= autogenerated= via= ./update-playwright-node.mjs= UBUNTU_MIRROR_PREFIX=azure. /bin/sh -c cd /ms-playwright-agent && npm exec --no -- playwright-core install webkit && rm /tmp/playwright-core.tar.gz && rm -rf /ms-playwright-agent && rm -rf ~/.npm/ && chmod -R 777 /ms-playwright/webkit-* # buildkit |
| WORKDIR /app |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends tini=0.19.0-1 && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY package.json package-lock.json ./ # buildkit |
| RUN /bin/sh -c npm ci --omit=dev --ignore-scripts && npm cache clean --force # buildkit |
| COPY src ./src # buildkit |
| COPY fixtures ./fixtures # buildkit |
| COPY client ./client # buildkit |
| COPY --chmod=0555 tools/chromium-launcher.py ./tools/chromium-launcher.py # buildkit |
| RUN /bin/sh -c mkdir /data && chown pwuser:pwuser /data # buildkit |
| USER pwuser |
| ENV HOST=127.0.0.1 PORT=8080 DATA_DIR=/data EXECUTION_LOCATION=container MAX_CONCURRENCY=1 |
| EXPOSE [8080/tcp] |
| STOPSIGNAL SIGTERM |
| ENTRYPOINT ["/usr/bin/tini" "-g" "--"] |
| CMD ["node" "src/server.mjs"] |