Apify & CrawleeA&CApify & Crawlee
Powered by
dry-scarletD
Apify & Crawlee•14mo ago•
6 replies
dry-scarlet

Issue: Playwright-chrome Docker with pnpm

Hello!

I'm trying to run the actor using pnpm instead of npm.
In my local, running
pnpm run start:dev
pnpm run start:dev
,
pnpm run start:prod
pnpm run start:prod
and
apify run
apify run
works as expected.
apify push
apify push
is also successful.

But, when running the actor in the platform, my main command is not executed, and these are the only logs.
2025-02-10T02:15:51.348Z ACTOR: Pulling Docker image of build ulyHJWVbZ9m9RZ8Ss from repository.
2025-02-10T02:16:04.019Z ACTOR: Creating Docker container.
2025-02-10T02:16:04.753Z ACTOR: Starting Docker container.
2025-02-10T02:15:51.348Z ACTOR: Pulling Docker image of build ulyHJWVbZ9m9RZ8Ss from repository.
2025-02-10T02:16:04.019Z ACTOR: Creating Docker container.
2025-02-10T02:16:04.753Z ACTOR: Starting Docker container.



Here is my dockerfile.
# Base image with Playwright
FROM apify/actor-node-playwright-chrome:20 AS builder

# Install pnpm
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -

# Use the shell form of RUN to source the .bashrc file before running pnpm
SHELL ["/bin/bash", "-c", "source /home/myuser/.bashrc"]

# Check preinstalled packages
RUN pnpm ls crawlee apify puppeteer playwright

# Copy package files first to optimize caching
COPY package*.json ./

# Install dependencies
RUN pnpm install --frozen-lockfile --audit=false

# Copy source code
COPY . ./

# Ensure correct permissions
RUN chown -R myuser:myuser .

# Build the project
RUN pnpm run build

# Final runtime image
FROM apify/actor-node-playwright-chrome:20 AS runner

# Install pnpm
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="/home/myuser/.bashrc" SHELL="$(which bash)" bash -

# Use the shell form of RUN to source the .bashrc file before running pnpm
SHELL ["/bin/bash", "-c", "source /home/myuser/.bashrc"]

# Copy built application from builder
COPY --from=builder /home/myuser /home/myuser

# Set up user and working directory
USER myuser
WORKDIR /home/myuser

# Install dependencies
RUN pnpm install --frozen-lockfile --audit=false 

# Run the image. If you know you won't need headful browsers,
# you can remove the XVFB start script for a micro perf gain.
CMD ./start_xvfb_and_run_cmd.sh && pnpm run start:prod --silent
# Base image with Playwright
FROM apify/actor-node-playwright-chrome:20 AS builder

# Install pnpm
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -

# Use the shell form of RUN to source the .bashrc file before running pnpm
SHELL ["/bin/bash", "-c", "source /home/myuser/.bashrc"]

# Check preinstalled packages
RUN pnpm ls crawlee apify puppeteer playwright

# Copy package files first to optimize caching
COPY package*.json ./

# Install dependencies
RUN pnpm install --frozen-lockfile --audit=false

# Copy source code
COPY . ./

# Ensure correct permissions
RUN chown -R myuser:myuser .

# Build the project
RUN pnpm run build

# Final runtime image
FROM apify/actor-node-playwright-chrome:20 AS runner

# Install pnpm
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="/home/myuser/.bashrc" SHELL="$(which bash)" bash -

# Use the shell form of RUN to source the .bashrc file before running pnpm
SHELL ["/bin/bash", "-c", "source /home/myuser/.bashrc"]

# Copy built application from builder
COPY --from=builder /home/myuser /home/myuser

# Set up user and working directory
USER myuser
WORKDIR /home/myuser

# Install dependencies
RUN pnpm install --frozen-lockfile --audit=false 

# Run the image. If you know you won't need headful browsers,
# you can remove the XVFB start script for a micro perf gain.
CMD ./start_xvfb_and_run_cmd.sh && pnpm run start:prod --silent
Apify & Crawlee banner
Apify & CrawleeJoin
This is the official developer community of Apify and Crawlee.
13,923Members
Resources
Recent Announcements

Similar Threads

Was this page helpful?
Recent Announcements
ellativity

**Update to Store Publishing Terms and Acceptable Use Policy** Due to an influx of fraudulent reviews recently, Apify's Legal team has taken some actions to protect developers, customers, and Apify, by updating the Store Publishing Terms and Acceptable Use Policy. Please pay special attention to the updated terms in section 4 of the Store Publishing Terms here: https://docs.apify.com/legal/store-publishing-terms-and-conditions Additionally, please review the changes to section 2 of the Acceptable Use Policy here: https://docs.apify.com/legal/acceptable-use-policy If you have any questions, please ask them in <#1206131794261315594> so everyone can see the discussion. Thanks!

ellativity · 3w ago

ellativity

Hi @everyone I'm hanging out with the Creator team at Apify in https://discord.com/channels/801163717915574323/1430491198145167371 if you want to discuss Analytics and Insights!

ellativity · 4w ago

ellativity

2 things for <@&1092713625141137429> members today: 1. The Apify developer rewards program is open for registrations: https://apify.notion.site/developer-rewards This is the program where you will earn points for marketing activities. The rewards are still TBC, but the real purpose of the program is to help you structure your marketing activities and efforts. In the coming weeks, I will be populating that link with guides to help you identify the best ways to market your Actors, as well as scheduling workshops and office hours to help you create content and develop your own marketing strategy. 2. At 2PM CET (in about 80 minutes) there will be an office hour with the team behind Insights and Analytics, who want your feedback on how to improve analytics for you. Join us in https://discord.com/channels/801163717915574323/1430491198145167371 to share your ideas!

ellativity · 4w ago

Similar Threads

chromium issue in apify/actor-node-playwright-chrome:22
dual-salmonDdual-salmon / crawlee-js
2y ago
Is the Playwright Firefox Docker image usable with PlaywrightCrawler?
dangerous-fuchsiaDdangerous-fuchsia / crawlee-js
3y ago
Running default Playwright example on Docker (arm64)
standard-azureSstandard-azure / crawlee-js
4y ago
Playwright in Docker image doesn't work
spotty-amberSspotty-amber / crawlee-js
4y ago