6.9 KiB
Minio Server config.json
(v23) Guide
Minio server stores all its configuration data in ${HOME}/.minio/config.json
file by default. Following sections provide detailed explanation of each fields and how to customize them. A complete example of config.json
is available here
Configuration Directory
The default configuration directory is ${HOME}/.minio
. You can override the default configuration directory using --config-dir
command-line option. Minio server generates a new config.json
with auto-generated access credentials when its started for the first time.
minio server --config-dir /etc/minio /data
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.
Following is the directory structure for Minio server with TLS certificates.
$ tree ~/.minio
/home/user1/.minio
├── certs
│ ├── CAs
│ ├── private.key
│ └── public.crt
└── config.json
Configuration Fields
Version
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] |
Credential
Field | Type | Description |
---|---|---|
credential |
Auth credential for object storage and web access. | |
credential.accessKey |
string | Access key of minimum 3 characters in length. You may override this field with MINIO_ACCESS_KEY environment variable. |
credential.secretKey |
string | Secret key of minimum 8 characters in length. You may override this field with MINIO_SECRET_KEY environment variable. |
Example:
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=password
minio server /data
Region
Field | Type | Description |
---|---|---|
region |
string | region describes the physical location of the server. By default it is set to ``. You may override this field with MINIO_REGION environment variable. If you are unsure leave it unset. |
Example:
export MINIO_REGION="my_region"
minio server /data
Browser
Field | Type | Description |
---|---|---|
browser |
string | 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:
export MINIO_BROWSER=off
minio server /data
Domain
Field | Type | Description |
---|---|---|
domain |
string | Enable virtual-host-style requests i.e http://bucket.mydomain.com/object |
By default, Minio supports path-style requests which look like http://mydomain.com/bucket/object. MINIO_DOMAIN environmental variable (or domain
in config.json) can be 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
Example:
export MINIO_DOMAIN=mydomain.com
minio server /data
Storage Class
Field | Type | Description |
---|---|---|
storageclass |
Set storage class for configurable data and parity, as per object basis. | |
storageclass.standard |
string | Value for standard storage class. It should be in the format EC:Parity , for example to set 4 disk parity for standard storage class objects, set this field to EC:4 . |
storageclass.rrs |
string | Value for reduced redundancy storage class. It should be in the format EC:Parity , for example to set 3 disk parity for reduced redundancy storage class objects, set this field to EC:3 . |
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.
Cache
Field | Type | Description |
---|---|---|
drives |
[]string | List of mounted file system drives with atime support enabled |
exclude |
[]string | List of wildcard patterns for prefixes to exclude from cache |
expiry |
int | Days to cache expiry |
Usage
Field | Type | Description |
---|---|---|
interval |
string | Valid usage check interval duration string is a signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "2h45m". Valid time units are "ns", "us", "ms", "s", "m", "h". Minimum supported value is '2h'. |
Example: Run usage check every 4 hours 3 minutes 10 seconds.
export MINIO_USAGE_CHECK_INTERVAL="4h3m10s"
minio server /data
Notify
Field | Type | Description |
---|---|---|
notify |
Notify enables bucket notification events for lambda computing via the following targets. | |
notify.amqp |
Configure to publish Minio events via AMQP target. | |
notify.nats |
Configure to publish Minio events via NATS target. | |
notify.elasticsearch |
Configure to publish Minio events via Elasticsearch target. | |
notify.redis |
Configure to publish Minio events via Redis target. | |
notify.postgresql |
Configure to publish Minio events via PostgreSQL target. | |
notify.kafka |
Configure to publish Minio events via Apache Kafka target. | |
notify.webhook |
Configure to publish Minio events via Webhooks target. | |
notify.mysql |
Configure to publish Minio events via MySql target. | |
notify.mqtt |
Configure to publish Minio events via MQTT target. |