Skip to content

docs: document slim Docker images and package manager setup - #4082

Open
vladfrangu wants to merge 9 commits into
masterfrom
docs/docker-slim-images
Open

docs: document slim Docker images and package manager setup#4082
vladfrangu wants to merge 9 commits into
masterfrom
docs/docker-slim-images

Conversation

@vladfrangu

@vladfrangu vladfrangu commented Aug 28, 2026

Copy link
Copy Markdown
Member

Updates the Running in Docker guide to match the current apify/apify-actor-docker images:

  • Document the -slim tag variants (no preinstalled apify/crawlee/typescript, only the automation library the image is built around) and recommend them by default.
  • New Package managers section: Corepack with pnpm preinstalled, packageManager support, flat node_modules linker config, and the shared /pkg-cache location, plus how to override the linker via ENV since env vars take precedence over .npmrc/.yarnrc.yml.
  • Supported Node.js versions are now 22, 24 and 26; example Dockerfiles bumped to :24.

[🤖] Claude Code using Fable 5

@vladfrangu
vladfrangu requested review from B4nan and janbuchar August 28, 2026 14:13
@vladfrangu
vladfrangu force-pushed the docs/docker-slim-images branch from 89bb6a1 to 00eb385 Compare August 28, 2026 14:14
@github-actions github-actions Bot added this to the 148th sprint - Tooling team milestone Aug 28, 2026
@github-actions github-actions Bot added the t-tooling Issues with this label are in the ownership of the tooling team. label Aug 28, 2026

@barjin barjin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, just one (mostly unactionable) note from my quick check ⬇️


### Slim variants

Every Node.js image is also published as a slim variant, with a `-slim` suffix appended to the tag (e.g. `24-slim`, `24-1.60.0-slim`, `24-beta-slim`). Slim images do not preinstall `apify`, `crawlee` or `typescript`. They only ship the browser automation library the image is built around (for example `puppeteer`, `playwright`, or `camoufox-js` with `impit`), and `apify/actor-node:24-slim` ships no npm packages at all. This makes them smaller and faster to pull, and your project's `package.json` is the single source of truth for dependency versions.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's probably obvious, but it took me a second read-through to realize the -slim images contain the library (e.g., Playwright) and the matching browser binaries.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn... do I need to multiline it? :D

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need, it's rather obvious, it just didn't click immediately for me 😅 the PR is gtg by me 👍

@janbuchar janbuchar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'm not sure that the crawlee docs are the correct place for a guide to Apify Docker images, but that's another issue (are we tracking this somewhere? @szaganek would probably know?)

@B4nan

B4nan commented Sep 2, 2026

Copy link
Copy Markdown
Member

IMO we should have this documented here, somehow. The canonical place might be in the apify docs, but some mention in crawlee docs on how to use crawlee in a docker surely makes sense to me. There is very little in the images that is actually apify specific, right?

If there are native alternatives to our images that works fine with crawlee, I wouldnt mind documenting those in here and only linking to apify docs, but some docs around this topic should stay as part of crawlee.dev

@B4nan B4nan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be ported to latest stable snapshot too, its not related to v4 anyhow

also we need to resolve the increase in size which the corepack PR did (apify/apify-actor-docker#303 (comment)), maybe it wasnt a good idea to bake corepack in? i know pnpm folks no longer suggest its usage, and yarn v6 will also provide a native way to install different versions instead of suggesting corepack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants