Documentation

Core Settings

This page covers settings that control core behavior of the MinIO process.

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.

  • a configuration setting using the MinIO Console’s Administrator > Settings pages.

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.

Important

Each configuration setting controls fundamental MinIO behavior and functionality. MinIO strongly recommends testing configuration changes in a lower environment, such as DEV or QA, before applying to production.

MinIO Options

MINIO_OPTS

There is no configuration setting for this variable, as these settings apply at server startup.

Optional

Set a string of parameters to use when starting the MinIO Server. For example, to set up ftp access, you could set the variable to something like the following:

export MINIO_OPTS=' "--console-address="9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '

On Unix-like systems, you can save a file with the environment variable to /etc/defaults/minio instead of setting the variable manually.

Common Settings

Volumes

MINIO_VOLUMES

The directories or drives the minio server process uses as the storage backend.

Functionally equivalent to setting minio server DIRECTORIES. Use this value when configuring MinIO to run using an environment file.

This setting does not have a configuration setting option.

Environment Variable File Path

MINIO_CONFIG_ENV_FILE

Specifies the full path to the file the MinIO server process uses for loading environment variables.

For systemd-managed files, set this value to the path of the environment file (/etc/default/minio) to direct MinIO to reload changes to that file when using mc admin service restart to restart the deployment.

This setting does not have a configuration setting option.

Workers for Expiration

MINIO_ILM_EXPIRY_WORKERS

Specifies the number of workers to make available to expire objects configured with ILM rules for expiration. When not set, MinIO defaults to using up to half of the available processing cores available.

This setting does not have a configuration setting option.

Domain

MINIO_DOMAIN

Enables Virtual Host-style requests to the MinIO deployment. Set the value to the Fully Qualified Domain Name (FQDN) for MinIO to accept incoming virtual host requests.

Omitting this setting directs MinIO to only accept the default path-style requests.

For example, consider a MinIO deployment with an assigned FQDN of minio.example.net.

  • With path-style lookups, applications can access the bucket using its full path as minio.example.net/mybucket.

  • With virtual-host lookups, application can access the bucket as a virtual host as mybucket.minio.example.net/.

Important

If you configure MINIO_DOMAIN, you must consider all subdomains of the specified FQDN as exclusively assigned for use as bucket names. Any MinIO services which conflict with those domains, such as replication targets, may exhibit unexpected or undesired behavior as a result of the collision.

For example, if setting MINIO_DOMAIN=minio.example.net, you cannot assign any subdomains of minio.example.net (in the form of *.minio.example.net) to any MinIO service or target. This includes hostnames for use with bucket, batch, or site replication.

This setting does not have a configuration setting option.

Scanner Speed

MINIO_SCANNER_SPEED
scanner speed

Manage the maximum wait period for the scanner when balancing MinIO read/write performance to scanner processes.

MinIO utilizes the scanner for bucket replication, site replication, lifecycle management, and healing tasks.

Valid values include:

fastest

Removes scanner wait on read/write latency, allowing the scanner to operate at full-speed and IOPS consumption. This setting may result in reduced read and write performance.

fast

Sets a short scanner wait time on read/write latency, allowing the scanner to operate at a higher speed and IOPS consumption. This setting may result in reduced read and write performance.

default

Sets a moderate scanner wait time on read/write latency, allowing the scanner to operate at a balanced speed and IOPS consumption. This setting seeks to maintain read and write performance while allowing ongoing scanner activity.

slow

Sets a medium scanner wait time on read/write latency, where the scanner operates at a reduced speed and IOPS consumption. This setting allows better read and write performance while reducing scanner performance.

May impact scanner-dependent features, such as lifecycle management and replication.

slowest

Sets a large scanner wait time on read/write latency, where the scanner operates at a substantially lower speed and IOPS consumption. This setting prioritizes read and write operations at the potential cost of scanner operations.

May impact scanner-dependent features, such as lifecycle management and replication.

Batch Replication

MINIO_BATCH_REPLICATION_WORKERS

Optional

Specifying the maximum number of parallel processes to use when performing the batch application job.

This setting does not have a configuration setting option.

Data Compression

The following section documents settings for enabling data compression for objects. See Data Compression for tutorials on using these configuration settings.

All of the settings in this section fall under the following top-level key:

compression

Allow Encryption

MINIO_COMPRESSION_ALLOW_ENCRYPTION
compression allow_encryption

Optional

Set to on to encrypt objects after compressing them. Defaults to off.

Encrypting compressed objects may compromise security

MinIO strongly recommends against encrypting compressed objects. If you require encryption, carefully evaluate the risk of potentially leaking information about the contents of encrypted objects.

Enable Compression

MINIO_COMPRESSION_ENABLE
compression enable

Optional

Set to on to enable data compression for new objects. Defaults to off.

Enabling or disabling data compression does not change existing objects.

Comments

This setting does not have an environment variable option. Use the configuration variable instead.

compression comment

Optional

Specify a comment to associate with the data compression configuration.

Compression Extensions

MINIO_COMPRESSION_EXTENSIONS
compression extensions

Optional

Comma-separated list of the file extensions to compress. Setting a new list of file extensions replaces the previously configured list. Defaults to ".txt, .log, .csv, .json, .tar, .xml, .bin".

Default excluded files

Some types of files cannot be significantly reduced in size. MinIO will not compress these, even if specified in an extensions argument. See Excluded types for details.

Compression MIME Types

MINIO_COMPRESSION_MIME_TYPES
compression mime_types

Optional

Comma-separated list of the MIME types to compress. Setting a new list of types replaces the previously configured list. Defaults to "text/*, application/json, application/xml, binary/octet-stream".

Default excluded files

Some types of files cannot be significantly reduced in size. MinIO will not compress these, even if specified in an mime_types argument. See Excluded types for details.

Erasure Stripe Size

MINIO_ERASURE_SET_DRIVE_COUNT

This setting does not have a configuration setting option.

Optional

The erasure set size to apply for all drives in a given server pool.

If you set this value, you must do so before you initialize the cluster The selected stripe size is immutable after the cluster has been initialized and affects any future server pools added to the cluster.

MinIO SUBNET users should log in and open an issue to discuss stripe size settings prior to implementing them in any environment.

Warning

Do not change the stripe size setting unless directed to by MinIO engineering.

Changes to stripe size have significant impact to deployment functionality, availability, performance, and behavior. MinIO’s stripe selection algorithms set appropriate defaults for the majority of workloads. Changing the stripe size from this default is unusual and generally not necessary or advised.