Skip to content

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

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

  2. Save the runner profile. 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.