---
id: configurazione
title: "File di configurazione"
---
Questo file è il fondamento di verdaccio nel quale è possibile modificare il comportamento predefinito, attivare i plugin ed estendere le funzionalità.
Un file di configurazione predefinito viene creato la prima volta che si esegue `verdaccio`.
## Configurazione predefinita
La configurazione predefinita dispone del supporto per pacchetti ** scoped** e permette a qualsiasi utente di accedere a tutti i pacchetti ma solo **agli utenti autenticati di pubblicare**.
```yaml
storage: ./storage
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $authenticated
proxy: npmjs
'**':
proxy: npmjs
logs:
- {type: stdout, format: pretty, level: http}
```
## Sezioni
Le sezioni seguenti spiegano cosa significa ogni proprietà e le diverse opzioni possibili.
### Archiviazione
È il percorso di archiviazione predefinito. **Verdaccio è di default basato sul file locale di sistema**.
```yaml
storage: ./storage
```
### Plugin
È il percorso della directory dei plugin. Utile per distribuzioni basate su Docker/Kubernetes.
```yaml
plugins: ./plugins
```
### Autenticazione
L'impostazione dell'autenticazione viene fatta qui, l'autenticazione predefinita è basata su `htpasswd` ed è incorporata. È possibile modificare questa condotta tramite [plugin](plugins.md). Per ulteriori informazioni su questa sezione leggere la [ pagina dell'autenticazione](auth.md).
```yaml
auth:
htpasswd:
file: ./htpasswd
max_users: 1000
```
### Web UI
Questa proprietà consente di modificare le caratteristiche dell'interfaccia utente web. Per ulteriori informazioni su questa sezione, leggere la [pagina dell'interfaccia utente web](web.md).
```yaml
web:
enable: true
title: Verdaccio
logo: logo.png
scope:
```
### Uplink
Uplink è la capacità del sistema di recuperare i pacchetti da registri remoti quando quei pacchetti non sono disponibili localmente. Per ulteriori informazioni su questa sezione leggere la [ pagina uplink](uplinks.md).
```yaml
uplinks:
npmjs:
url: https://registry.npmjs.org/
```
### Pacchetti
Pacchetti consente all'utente di controllare come i pacchetti vengono resi accessibili. Per ulteriori informazioni su questa sezione leggere [la pagina dei pacchetti ](packages.md).
```yaml
packages:
'@*/*':
access: $all
publish: $authenticated
proxy: npmjs
```
## Impostazioni avanzate
### Pubblicazione non in linea
Per impostazione predefinita `verdaccio` non consente di pubblicare quando il client è offline, questa condotta può essere modificata impostandola su *true*.
```yaml
publish:
allow_offline: false
```
Since: verdaccio@2.3.6
due #223
### Prefisso URL
```yaml
url_prefix: https://dev.company.local/verdaccio/
```
Since: `verdaccio@2.3.6` due [#197](https://github.com/verdaccio/verdaccio/pull/197)
### Dimensione massima del corpo
Per impostazione predefinita la dimensione massima del corpo per un documento JSON è di `10mb`, se si incontrano errori come `"entità richiesta troppo grande"` si può aumentare questo valore.
```yaml
max_body_size: 10mb
```
### Porta in ascolto
`verdaccio` viene eseguito per impostazione predefinita nella porta `4873`. Modifica della porta può essere fatta tramite [cli](cli.md) o nel file di configurazione, le seguenti opzioni sono valide.
```yaml
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
Per abilitare `https` in `verdaccio` è sufficiente impostare il flag `ascolto` con il protocollo *https://*. Per ulteriori informazioni su questa sezione leggere la [ pagina del ssl](ssl.md).
```yaml
https:
key: ./path/verdaccio-key.pem
cert: ./path/verdaccio-cert.pem
ca: ./path/verdaccio-csr.pem
```
### Proxy
I proxy sono speciali HTTP Server progettati per trasferire dati da server remoti ai clienti locali.
#### http_proxy and https_proxy
Se avete un proxy nella rete è possibile impostare un'intestazione di `X-Forwarded-For` utilizzando le seguenti proprietà.
```yaml
http_proxy: http://something.local/
https_proxy: https://something.local/
```
#### no_proxy
Questa variabile deve contenere un elenco di estensioni di dominio separate da virgole per cui il proxy non deve essere utilizzato.
```yaml
no_proxy: localhost,127.0.0.1
```
### Notifiche
Abilitare le notifiche di strumenti di terze parti è abbastanza facile via web hooks. Per ulteriori informazioni su questa sezione, leggere la [pagina delle notifiche](notifications.md).
```yaml
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"}'
```
> Per impostazioni di configurazione più dettagliate, si prega di [controllare il codice sorgente](https://github.com/verdaccio/verdaccio/tree/master/conf).
### Audit
Since: verdaccio@3.0.0
`npm audit` è un nuovo comando rilasciato con [npm 6.x](https://github.com/npm/npm/releases/tag/v6.1.0). Verdaccio include un plugin di middleware incorporato per gestire questo comando.
> Se si dispone di una nuova installazione viene fornito di default, altrimenti è necessario aggiungere le seguenti proprietà al file di configurazione
```yaml
middlewares:
audit:
enabled: true
```