Minio server stored all its configuration data in `${HOME}/.minio/config.json` file by default.For all releases beyond minio.RELEASE.2017-08-05T00-00-53Z, the configuration data will be migrated to the Minio's backend directory. All configuration changes can be made using [`mc admin config` get/set commands](https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md). Following sections provide detailed explanation of each fields and how to customize them. A complete example of `config.json` is available [here](https://raw.githubusercontent.com/minio/minio/master/docs/config/config.sample.json)
## Configuration Directory
## Configuration Directory
The default configuration directory is `${HOME}/.minio`. Till the release `RELEASE.2018-08-02T23-11-36Z` , Minio server configuration file (`config.json`) was stored in the configuration directory. However for releases beyond `RELEASE.2018-08-18T03-49-57Z`, the configuration file (only), has been migrated to the backend storage directory.
The default configuration directory is `${HOME}/.minio`. Till the release `RELEASE.2018-08-02T23-11-36Z`, Minio server configuration file (`config.json`) was stored in the configuration directory. However for releases beyond `RELEASE.2018-08-18T03-49-57Z`, the configuration file (only), has been migrated to the storage back-end (storage back-end is the directory passed to Minio server while starting the server).
You can override the default configuration directory using `--config-dir` command-line option. Please note that this won't have an effect on the `config.json` file as it is always stored on the backend storage, along with data. Minio server generates a new `config.json` with auto-generated access credentials when its started for the first time.
You can override the default configuration directory using `--config-dir` command-line option. Please note that this won't have an effect on the `config.json` file as it is always stored on the backend storage, along with data. Minio server generates a new `config.json` with auto-generated access credentials when its started for the first time.
@ -12,6 +11,7 @@ minio server --config-dir /etc/minio /data
```
```
### Certificate Directory
### Certificate Directory
TLS certificates are stored under ``${HOME}/.minio/certs`` directory. You need to place certificates here to enable `HTTPS` based access. Read more about [How to secure access to Minio server with TLS](https://docs.minio.io/docs/how-to-secure-access-to-minio-server-with-tls).
TLS certificates are stored under ``${HOME}/.minio/certs`` directory. You need to place certificates here to enable `HTTPS` based access. Read more about [How to secure access to Minio server with TLS](https://docs.minio.io/docs/how-to-secure-access-to-minio-server-with-tls).
Following is the directory structure for Minio server with TLS certificates.
Following is the directory structure for Minio server with TLS certificates.
@ -25,14 +25,22 @@ $ tree ~/.minio
│ └── public.crt
│ └── public.crt
```
```
### Configuration Fields
### Accessing configuration file
#### Editing Configuration Fields
For releases after minio.RELEASE.2017-08-05T00-00-53Z, configuration changes can be done using [mc]((https://docs.minio.io/docs/minio-client-quickstart-guide))
All configuration changes can be made using [`mc admin config` get/set commands](https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md). Following sections provide brief explanation of fields and how to customize them. A complete example of `config.json` is available [here](https://raw.githubusercontent.com/minio/minio/master/docs/config/config.sample.json)
#### Editing configuration file fields
Configuration changes should be done using [mc]((https://docs.minio.io/docs/minio-client-quickstart-guide))
##### Get current configuration for Minio deployment
##### Get current configuration for Minio deployment
```sh
```sh
$ mc admin config get myminio/ > /tmp/myconfig
$ mc admin config get myminio/ > /tmp/myconfig
```
```
##### Set current configuration for Minio deployment
##### Set current configuration for Minio deployment
```sh
```sh
$ mc admin config set myminio < /tmp/myconfig
$ mc admin config set myminio < /tmp/myconfig
```
```
@ -40,11 +48,13 @@ $ mc admin config set myminio < /tmp/myconfig
The `mc admin` config API will evolve soon to be able to configure specific fields using get/set commands.
The `mc admin` config API will evolve soon to be able to configure specific fields using get/set commands.
#### Version
#### Version
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``version``|_string_| `version` determines the configuration file format. Any older version will be automatically be migrated to the latest version upon startup. [DO NOT EDIT THIS FIELD MANUALLY]|
|``version``|_string_| `version` determines the configuration file format. Any older version will automatically be migrated to the latest version upon startup. [DO NOT EDIT THIS FIELD MANUALLY]|
#### Credential
#### Credential
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``credential``| | Auth credential for object storage and web access.|
|``credential``| | Auth credential for object storage and web access.|
@ -60,6 +70,7 @@ minio server /data
```
```
#### Region
#### Region
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``region``| _string_ | `region` describes the physical location of the server. By default it is blank. You may override this field with `MINIO_REGION` environment variable. If you are unsure leave it unset.|
|``region``| _string_ | `region` describes the physical location of the server. By default it is blank. You may override this field with `MINIO_REGION` environment variable. If you are unsure leave it unset.|
@ -72,6 +83,7 @@ minio server /data
```
```
#### Worm
#### Worm
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``worm``| _string_ | Enable this to turn on Write-Once-Read-Many. By default it is set to `off`. You may override this field with ``MINIO_WORM`` environment variable.|
|``worm``| _string_ | Enable this to turn on Write-Once-Read-Many. By default it is set to `off`. You may override this field with ``MINIO_WORM`` environment variable.|
@ -84,6 +96,7 @@ minio server /data
```
```
### Storage Class
### Storage Class
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``storageclass``| | Set storage class for configurable data and parity, as per object basis.|
|``storageclass``| | Set storage class for configurable data and parity, as per object basis.|
@ -93,6 +106,7 @@ minio server /data
By default, parity for objects with standard storage class is set to `N/2`, and parity for objects with reduced redundancy storage class objects is set to `2`. Read more about storage class support in Minio server [here](https://github.com/minio/minio/blob/master/docs/erasure/storage-class/README.md).
By default, parity for objects with standard storage class is set to `N/2`, and parity for objects with reduced redundancy storage class objects is set to `2`. Read more about storage class support in Minio server [here](https://github.com/minio/minio/blob/master/docs/erasure/storage-class/README.md).
### Cache
### Cache
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``drives``| _[]string_ | List of mounted file system drives with [`atime`](http://kerolasa.github.io/filetimes.html) support enabled|
|``drives``| _[]string_ | List of mounted file system drives with [`atime`](http://kerolasa.github.io/filetimes.html) support enabled|
@ -101,6 +115,7 @@ By default, parity for objects with standard storage class is set to `N/2`, and
|``maxuse`` | _int_ | Percentage of disk available to cache |
|``maxuse`` | _int_ | Percentage of disk available to cache |
#### Notify
#### Notify
|Field|Type|Description|
|Field|Type|Description|
|:---|:---|:---|
|:---|:---|:---|
|``notify``| |Notify enables bucket notification events for lambda computing via the following targets.|
|``notify``| |Notify enables bucket notification events for lambda computing via the following targets.|
@ -117,22 +132,28 @@ By default, parity for objects with standard storage class is set to `N/2`, and
## Environment only settings
## Environment only settings
#### Browser
#### Browser
Enable or disable access to web UI. By default it is set to `on`. You may override this field with ``MINIO_BROWSER`` environment variable.
Enable or disable access to web UI. By default it is set to `on`. You may override this field with ``MINIO_BROWSER`` environment variable.
Example:
Example:
```sh
```sh
export MINIO_BROWSER=off
export MINIO_BROWSER=off
minio server /data
minio server /data
```
```
### Domain
### Domain
By default, Minio supports path-style requests which look like http://mydomain.com/bucket/object. MINIO_DOMAIN environmental variable is used to enable virtual-host-style requests. If the request `Host` header matches with `(.+).mydomain.com` then the mattched pattern `$1` is used as bucket and the path is used as object. More information on path-style and virtual-host-style [here](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAPI.html)
By default, Minio supports path-style requests which look like http://mydomain.com/bucket/object. MINIO_DOMAIN environmental variable is used to enable virtual-host-style requests. If the request `Host` header matches with `(.+).mydomain.com` then the mattched pattern `$1` is used as bucket and the path is used as object. More information on path-style and virtual-host-style [here](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAPI.html)