npm & pnpm via Verdaccio
The per-workload /cache volume already keeps your npm and pnpm stores warm on a
single host. A Verdaccio proxy sits on top of that
volume rather than replacing it; the two stack. Run a proxy when you want to:
- Share one cache across hosts, so each runner pulls through the same LAN proxy
instead of warming its own
/cachevolume from scratch. - Serve your own scoped packages alongside the public ones Verdaccio proxies.
- Keep installing a tarball during a registry outage. Once Verdaccio has fetched it, a job pulls it even when npmjs is down.
Standing up Verdaccio is your job; see the Verdaccio docs. Once it’s reachable, wiring Runaway to it is one custom-env entry.
Wire it up
Section titled “Wire it up”-
Set the registry in custom env. Open the runner profile, find the custom-env field, and add:
{"npm_config_registry": "http://verdaccio.lan:4873"}Replace
verdaccio.lan:4873with your own host and port. -
Save the runner profile. The next runners Runaway spawns inherit the variable, so every
npm installin a job hits your proxy.
What not to put here
Section titled “What not to put here”Custom env is plaintext. A Verdaccio auth token is a secret and does not belong in custom env — see Custom environment variables. An unauthenticated LAN proxy needs only the registry URL.
Related
Section titled “Related”- Custom environment variables — validation rules and merge order.
- Caching — the
/cachevolume the proxy stacks on top of. - Writing workflows — what changes when a job runs on a Runaway runner.