Skip to main content

Arquivo de Configuração

Este arquivo é a peça chave do verdaccio, onde você pode modificar o comportamento padrão, habilitar plugins e estender recursos.

Um arquivo de configuração padrão config.yaml é criado na primeira vez que você executa verdaccio.

Configuração Padrão#

A configuração padrão tem suporte para pacotes com escopo (scoped) e permite que qualquer usuário acesse todos os pacotes, mas somente que os usuários autenticados publiquem.

storage: ./storageauth:  htpasswd:    file: ./htpasswduplinks:  npmjs:    url: https://registry.npmjs.org/packages:  '@*/*':    access: $all    publish: $authenticated    proxy: npmjs  '**':    proxy: npmjslogs:  - {type: stdout, format: pretty, level: http}

Seções#

As seções a seguir explicam o que cada propriedade significa e as diferentes opções.

Armazenamento#

É a localização do armazenamento padrão. **Por padrão o Verdaccio está baseado no arquivo de sistema local **.

storage: ./storage

Plugins#

É a localização do diretório de plugins. Útil para implementações baseadas em Docker/Kubernetes.

plugins: ./plugins

Autenticação#

The authentication setup is done here. A configuração de autenticação é feita aqui, por padrão é baseada em htpasswd e é embutida. Você pode modificar este comportamento via plugins. Para maiores informações sobre esta seção, leia a página sobre autenticação.

auth:  htpasswd:    file: ./htpasswd    max_users: 1000

Segurança#

A partir de: verdaccio@4.0.0 #168

O bloco de segurança permite personalizar o token de assinatura. Para habilitar a nova assinatura do JWT (json web token) é necessário adicionar o bloco jwt à seção api, web usa jwt por padrão.

A configuração é separada em duas seções, api e web. Para usar o JWT na api você precisará defini-lo, caso contrário, você usará a assinatura de token herdada (aes192). Para o JWT, você pode personalizar a assinatura e a verificação do token com suas próprias propriedades.

security:  api:    legacy: true    jwt:      sign:        expiresIn: 29d      verify:        someProp: [value]   web:     sign:       expiresIn: 7d # 7 days by default     verify:        someProp: [value]

É altamente recomendável migrar para o JWT, pois a assinatura herdada (aes192) está obsoleta e desaparecerá em versões futuras.

Server#

Um conjunto de propriedades para alterar o comportamento do aplicativo do servidor, especificamente a API (Express.js).

Você pode especificar o tempo limite de espera do servidor HTTP/1.1 em segundos para conexões de entrada. Um valor 0 faz com que o servidor http se comporte de maneira semelhante às versões do Node.js anteriores a 8.0.0, que não tinham um tempo limite de atividade. SOLUÇÃO ALTERNATIVA: Através da configuração fornecida, você pode solucionar o seguinte problema https://github.com/verdaccio/verdaccio/issues/301. Defina como 0 caso 60 não seja suficiente.

server:  keepAliveTimeout: 60

Web UI#

Esta propriedade permite que você modifique a aparência da interface do usuário da web. Para mais informações sobre esta seção, leia a página sobre web ui.

web:  enable: true  title: Verdaccio  logo: logo.png  scope:

Uplinks#

Uplinks is the ability of the system to fetch packages from remote registries when those packages are not available locally. For more information about this section read the uplinks page.

uplinks:  npmjs:    url: https://registry.npmjs.org/

Packages#

Pacotes permitem que o usuário controle como os pacotes serão acessados. Para mais informações sobre esta seção, leia a página sobre pacotes.

packages:  '@*/*':    access: $all    publish: $authenticated    proxy: npmjs

Configurações Avançadas#

Offline Publish#

By default verdaccio does not allow to publish when the client is offline, that behavior can be overridden by setting this to true. This can be can be overridden by setting this value to true.

publish:  allow_offline: false
Since: verdaccio@2.3.6 due #223

URL Prefix#

The prefix is intended to be used when the server runs behinds the proxy and won't work properly if is used without a reverse proxy, check the reverse proxy setup page for more details.

url_prefix: /verdaccio/

Verdaccio 5 has an improved prefix behaviour and the VERDACCIO_PUBLIC_URL is available for use, learn how to here.

Max Body Size#

By default the maximum body size for a JSON document is 10mb, if you run into errors that state "request entity too large" you may increase this value.

max_body_size: 10mb

Listen Port#

O verdaccio é executado por padrão na porta 4873. A alteração da porta pode ser feita via cli ou no arquivo de configuração, as seguintes opções são válidas. The following options are valid:

listen:# - localhost:4873            # default value# - http://localhost:4873     # same thing# - 0.0.0.0:4873              # listen on all addresses (INADDR_ANY)# - https://example.org:4873  # if you want to use https# - "[::1]:4873"                # ipv6# - unix:/tmp/verdaccio.sock    # unix socket

HTTPS#

To enable https in verdaccio it's enough to set the listen flag with the protocol https\://. For more information about this section read the ssl page.

https:    key: ./path/verdaccio-key.pem    cert: ./path/verdaccio-cert.pem    ca: ./path/verdaccio-csr.pem

Proxy#

Proxies are special-purpose HTTP servers designed to transfer data from remote servers to local clients.

http_proxy e https_proxy#

This variable should contain a comma-separated list of domain extensions proxy should not be used for.

http_proxy: http://something.local/https_proxy: https://something.local/

no_proxy#

This variable should contain a comma-separated list of domain extensions that the proxy should not be used for.

no_proxy: localhost,127.0.0.1

Notificações#

Habilitar notificações para ferramentas de terceiros é bastante fácil através de web hooks. Para mais informações sobre esta seção, leia a página sobre notificações.

notify:  method: POST  headers: [{'Content-Type': 'application/json'}]  endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken  content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'

For more detailed configuration settings, please check the source code.

Audit#

Since: verdaccio@3.0.0

npm audit é um novo comando lançado com a npm 6.x. Verdaccio inclui um plugin de middleware integrado para lidar com este comando.

If you have a new installation it comes by default, otherwise you need to add the following props to your config file

middlewares:  audit:    enabled: true

Experiments#

This release includes a new property named experiments that can be placed in the config.yaml and is completely optional.

We want to be able to ship new things without affecting production environments. This flag allows us to add new features and get feedback from the community that wants to use them.

Here one example:

Here is one example:

experiments:  changePassword: false

To disable the experiments warning in the console, you must comment out the whole experiments section.