---
id: env
title: Environment Variables
---

Verdaccio provides a set of environment variables to modify either permissions, port or http protocol. Here the complete list:

### Docker {#docker}

To change the behavior on runtime on running the image, these are the list of available variables.

| Variable            | Default          | Description                                        |
| ------------------- | ---------------- | -------------------------------------------------- |
| VERDACCIO_APPDIR    | `/opt/verdaccio` | the docker working directory                       |
| VERDACCIO_USER_NAME | `verdaccio`      | the system user                                    |
| VERDACCIO_USER_UID  | `10001`          | the user id being used to apply folder permissions |
| VERDACCIO_PORT      | `4873`           | the verdaccio port                                 |
| VERDACCIO_PROTOCOL  | `http`           | the default http protocol                          |

### VERDACCIO_HANDLE_KILL_SIGNALS {#handle-kill-signals}

Enables gracefully shutdown, more info at the [pull request #2121](https://github.com/verdaccio/verdaccio/pull/2121).

>

### VERDACCIO_PUBLIC_URL {#public-url}

Define a specific public url for your server, it overrules the `Host` and `X-Forwarded-Proto` header if a reverse proxy is being used, it takes in account the `url_prefix` if is defined.

This is handy in such situations where a dynamic url is required.

eg:

```
VERDACCIO_PUBLIC_URL='https://somedomain.org';
url_prefix: '/my_prefix'

// url -> https://somedomain.org/my_prefix/

VERDACCIO_PUBLIC_URL='https://somedomain.org';
url_prefix: '/'

// url -> https://somedomain.org/

VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix';
url_prefix: '/second_prefix'

// url -> https://somedomain.org/second_prefix/'
```

### VERDACCIO_FORWARDED_PROTO {#handle-forwarded-proto}

The default header to identify the protocol is `X-Forwarded-Proto`, but there are some environments which [uses something different](https://github.com/verdaccio/verdaccio/issues/990), to change it use the variable `VERDACCIO_FORWARDED_PROTO`

```
$ VERDACCIO_FORWARDED_PROTO=CloudFront-Forwarded-Proto verdaccio --listen 5000
```

### VERDACCIO_STORAGE_PATH {#storage-path}

By default, the storage is taken from config file, but using this variable allows to set it from environment variable.

### EXPERIMENTAL_VERDACCIO_LOGGER_COLORS {#logger-colors}

Overrides `logs.colors` from the `config.yaml`.

Note that any value that other than `false` will result in `true`.

When both are not provided - the colors are on by default for TTY processes, and off for processes that are not.