npm & pnpm via Verdaccio
The per-scale-set /cache volume already keeps your npm and pnpm stores warm on a
single host. A Verdaccio proxy sits on a different
layer — they stack, they aren’t alternatives.
A registry proxy earns its keep when you want to:
- Share one cache across hosts. Every runner on every agent pulls through the
same LAN proxy, instead of each host warming its own
/cachevolume from scratch. - Serve private packages. Verdaccio publishes your own scoped packages alongside the public ones it proxies.
- Survive a registry outage. Once Verdaccio has fetched a tarball, a job can install 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 scale set, 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 scale set. 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.