Skip to content

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 /cache volume 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.

  1. 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:4873 with your own host and port.

  2. Save the scale set. The next runners Runaway spawns inherit the variable, so every npm install in a job hits your proxy.

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.