Skip to main content


An uplink is a link with an external registry that provides access to external packages.



uplinks:  npmjs:   url:  server2:    url:    timeout: 100ms  server3:    url:  baduplink:    url: http://localhost:55666/


You can define mutiple uplinks and each of them must have an unique name (key). They can have the following properties:

VlastnostTypPožadovanéPříkladPodporaPopisVýchozí hodnota
urlřetězecAnošechnyThe registry urlnpmjs
cařetězecNe~./ssl/client.crt'všechnySSL path certificateNo default
timeoutřetězecNe100msvšechnyset new timeout for the request30s
maxageřetězecNe10mvšechnythe time threshold to the cache is valid2m
fail_timeoutřetězecNe10mvšechnydefines max time when a request becomes a failure5m
max_failsčísloNe2všechnylimit maximun failure request2
cachebooleanNe[true,false]>= 2.1cache all remote tarballs in storagetrue
authlistNesee below>= 2.5assigns the header 'Authorization' more infodisabled
headerslistNeauthorization: "Bearer SecretJWToken=="všechnylist of custom headers for the uplinkdisabled
strict_sslbooleanNe[true,false]>= 3.0If true, requires SSL certificates be valid.true
agent_optionsobjectNemaxSockets: 10>= 4.0.2options for the HTTP or HTTPS Agent responsible for managing uplink connection persistence and reuse more infoNo default

Auth property#

The auth property allows you to use an auth token with an uplink. Using the default environment variable:

uplinks:  private:    url:    auth:      type: bearer      token_env: true # defaults to `process.env['NPM_TOKEN']`

or via a specified environment variable:

uplinks:  private:    url:    auth:      type: bearer      token_env: FOO_TOKEN

token_env: FOO_TOKENinternally will use process.env['FOO_TOKEN']

or by directly specifying a token:

uplinks:  private:    url:    auth:      type: bearer      token: "token"

Note: token has priority over token_env

You Must know#

  • Uplinks must be registries compatible with the npm endpoints. Eg: verdaccio, sinopia@1.4.0, npmjs registry, yarn registry, JFrog, Nexus and more.
  • Setting cache to false will help to save space in your hard drive. This will avoid store tarballs but it will keep metadata in folders.
  • Exceed with multiple uplinks might slow down the lookup of your packages due for each request a npm client does, verdaccio does 1 call for each uplink.
  • The (timeout, maxage and fail_timeout) format follow the NGINX measurement units