# Silo Client Settings

LLMS index: [llms.txt](/llms.txt)

---

<a id="minio-client-settings"></a>
<a id="minio-server-envvar-mc"></a>

This page covers settings for the [MinIO Client](/reference/minio-mc/#minio-client).

You can establish or modify settings by defining:

- an *environment variable* on the host system prior to starting or restarting the MinIO Server. Refer to your operating system’s documentation for how to define an environment variable.
- a *configuration setting* using [`mc admin config set`](/reference/minio-mc-admin/mc-admin-config/#mc.admin.config.set).

If you define both an environment variable and the similar configuration setting, MinIO uses the environment variable value.

Some settings have only an environment variable or a configuration setting, but not both.

## Settings {#settings}

### Host Credentials {#host-credentials}

Use this setting to add a temporary alias to use for *mc* commands. For example, for use with scripting.

The temporary alias uses the [AWS s3v4 signature](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html).

**Environment Variable**

<a id="envvar.MC_HOST_&lt;ALIAS&gt;"></a>

##### `MC_HOST_<ALIAS>` {#envvar.MC_HOST_-ALIAS}

*envvar*

Replace `<ALIAS>` at the end of the environment variable with the `alias` to set the host for.

**Configuration Setting**

This setting does not have a configuration setting option.

Use [`mc alias set`](/reference/minio-mc/mc-alias-set/#command-mc.alias.set) to configure an [alias](/reference/minio-mc/mc-alias-set/#alias).

#### Examples {#examples}

**Static Credentials**

```shell {tab="Syntax" group="syntax-example" value="syntax"}
export MC_HOST_<alias>=https://<Access Key>:<Secret Key>@<YOUR-S3-ENDPOINT>
```

```shell {tab="Example" value="example"}
export MC_HOST_myalias=https://Q3AM3UQ867SPQQA43P2F:zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG@play.min.io
```

**Security Token Service (STS) Credentials**

```shell {tab="Syntax" group="syntax-example" value="syntax"}
export MC_HOST_<alias>=https://<Access Key>:<Secret Key>:<Session Token>@<YOUR-S3-ENDPOINT>
```

```shell {tab="Example" value="example"}
export MC_HOST_myalias=https://Q3AM3UQ867SPQQA43P2F:zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG:eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiJOVUlCT1JaWVRWMkhHMkJNUlNYUiIsImF1ZCI6IlBvRWdYUDZ1Vk80NUlzRU5SbmdEWGo1QXU1WWEiLCJhenAiOiJQb0VnWFA2dVZPNDVJc0VOUm5nRFhqNUF1NVlhIiwiZXhwIjoxNTM0ODk2NjI5LCJpYXQiOjE1MzQ4OTMwMjksImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvb2F1dGgyL3Rva2VuIiwianRpIjoiNjY2OTZjZTctN2U1Ny00ZjU5LWI0MWQtM2E1YTMzZGZiNjA4In0.eJONnVaSVHypiXKEARSMnSKgr-2mlC2Sr4fEGJitLcJF_at3LeNdTHv0_oHsv6ZZA3zueVGgFlVXMlREgr9LXA@play.min.io
```

### STS Service {#sts-service}

> [!NOTE]
> **Added: mc**
>
> RELEASE.2023-11-06T04-19-23Z

Use this setting to add an STS endpoint to use for *mc* commands.

> [!NOTE]
> **Changed: mc**
>
> RELEASE.2023-12-02T02-03-28Z

Supports adding multiple environment variables by alias.

**Environment Variable**

<a id="envvar.MC_STS_ENDPOINT_&lt;alias&gt;"></a>

##### `MC_STS_ENDPOINT_<alias>` {#envvar.MC_STS_ENDPOINT_-alias}

*envvar*

```shell
export MC_STS_ENDPOINT_myalias=https://sts.minio-operator.svc.cluster.local:4223/sts/ns-1
```

**Configuration Setting**

This setting does not have a configuration setting option.

### Web Token Identity {#web-token-identity}

> [!NOTE]
> **Added: mc**
>
> RELEASE.2023-11-06T04-19-23Z

Use this setting to add a web token identity to use for *mc* commands.

> [!NOTE]
> **Changed: mc**
>
> RELEASE.2023-12-02T02-03-28Z

Supports adding multiple environment variables by alias.

**Environment Variable**

<a id="envvar.MC_WEB_IDENTITY_TOKEN_&lt;alias&gt;"></a>

##### `MC_WEB_IDENTITY_TOKEN_<alias>` {#envvar.MC_WEB_IDENTITY_TOKEN_-alias}

*envvar*

```shell
export MC_WEB_IDENTITY_TOKEN_FILE_myalias=/var/run/secrets/kubernetes.io/serviceaccount/token
```

**Configuration Setting**

This setting does not have a configuration setting option.

### Configuration Directory {#configuration-directory}

Specify the path to the configuration folder the MinIO Client should use. In the `pgsty/mc` container image (`20261109+`), `/.mc` is pre-created with `1777` permissions so arbitrary non-root UIDs can initialize their configuration.

**Environment Variable**

##### `MC_CONFIG_DIR` {#envvar.MC_CONFIG_DIR}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### S3 Region Override {#s3-region}

Set a fixed S3 signing region through the environment to override the alias `region` in `config.json`. A fixed region bypasses SDK bucket-region discovery; see the [alias-region design](/blog/design/alias-region/).

Precedence order: `MC_REGION` > `AWS_REGION` > alias `region` in `config.json` > SDK automatic region discovery. S3 client cache entries include the effective region so changing `MC_REGION` or `AWS_REGION` between operations never reuses a cached client signed for a different region.

**Environment Variable**

##### `MC_REGION` / `AWS_REGION` {#envvar.MC_REGION}

*envvar*

```shell
export MC_REGION=ap-southeast-1
```

**Configuration Setting**

Set `"region": "<region-name>"` on the alias entry in `~/.mc/config.json`.

### Progress Bar {#progress-bar}

Disable the MinIO Client progress bar.

**Environment Variable**

##### `MC_QUIET` {#envvar.MC_QUIET}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### Pager {#pager}

> [!NOTE]
> **Added: mc**
>
> RELEASE.2024-04-29T09-56-05Z

Disable the pager functionality of the MinIO Client in the CLI. When used, output prints to raw `STDOUT` instead.

**Environment Variable**

##### `MC_DISABLE_PAGER` {#envvar.MC_DISABLE_PAGER}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### Color Theme {#color-theme}

Disable the color theme used for MinIO Client output.

**Environment Variable**

##### `MC_NO_COLOR` {#envvar.MC_NO_COLOR}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### JSON {#json}

Enable formatting the output as JSON lines.

**Environment Variable**

##### `MC_JSON` {#envvar.MC_JSON}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### Debug {#debug}

Enable the debug output.

**Environment Variable**

##### `MC_DEBUG` {#envvar.MC_DEBUG}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### Disable SSL {#disable-ssl}

Disable SSL certificate verification.

**Environment Variable**

##### `MC_INSECURE` {#envvar.MC_INSECURE}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

### Limit Download Bandwidth {#limit-download-bandwidth}

Limit the download bandwidth the MinIO Client uses for certain commands.

**Environment Variable**

##### `MC_LIMIT_DOWNLOAD` {#envvar.MC_LIMIT_DOWNLOAD}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

If not specified, the MinIO Client uses all available bandwidth.

Limit client-side download rates to no more than the specified rate in KiB/s, MiB/s, or GiB/s. This affects only the download from the local device running the MinIO Client. Valid units include:

- B for bytes
- K for kilobytes
- M for megabytes
- G for gigabytes
- Ki for kibibytes
- Mi for mibibytes
- Gi for gibibytes

For example, to limit download rates to no more than 1 GiB/s, use the following on a Linux system:

```shell
export MC_LIMIT_DOWNLOAD=1G
```

Refer to your operating system instructions for equivalent commands on non-Linux systems.

### Limit Upload Bandwidth {#limit-upload-bandwidth}

Limit the upload bandwidth the MinIO Client uses for certain commands.

**Environment Variable**

##### `MC_LIMIT_UPLOAD` {#envvar.MC_LIMIT_UPLOAD}

*envvar*

**Configuration Setting**

This setting does not have a configuration setting option.

If not specified, the MinIO Client uses all available bandwidth.

Limit client-side upload rates to no more than the specified rate in KiB/s, MiB/s, or GiB/s. This affects only the upload from the local device running the MinIO Client. Valid units include:

- B for bytes
- K for kilobytes
- M for megabytes
- G for gigabytes
- Ki for kibibytes
- Mi for mibibytes
- Gi for gibibytes

For example, to limit upload rates to no more than 1 GiB/s, use the following on a Linux system:

```shell
export MC_LIMIT_UPLOAD=1Gi
```

Refer to your operating system instructions for equivalent commands on non-Linux systems.

### SSE-KMS Encryption {#sse-kms-encryption}

Encrypt and decrypt options using [SSE-KMS](/operations/server-side-encryption/#minio-sse-data-encryption) with server managed keys.

**Environment Variable**

##### `MC_ENC_KMS` {#envvar.MC_ENC_KMS}

*envvar*

Use `ALIAS/BUCKET/PREFIX=KEY_NAME` mappings, for example `MC_ENC_KMS=mysilo/encryptedbucket/=silo-bucket`. Separate multiple mappings with commas. The key name identifies a key managed by the server's KMS; it is not the key material.

**Configuration Setting**

This setting does not have a configuration setting option.

### SSE-S3 Encryption {#sse-s3-encryption}

Request [SSE-S3](/operations/server-side-encryption/#minio-sse-data-encryption) with server managed keys.

**Environment Variable**

##### `MC_ENC_S3` {#envvar.MC_ENC_S3}

*envvar*

Specify the target alias, bucket, or object prefix, for example `MC_ENC_S3=mysilo/encryptedbucket/`. Separate multiple prefixes with commas. This selects where to request SSE-S3; do not supply a KMS key name or key material. SILO chooses its configured default key, such as `MINIO_KMS_KES_KEY_NAME` for a KES deployment.

**Configuration Setting**

This setting does not have a configuration setting option.
