minio/minio
Configuration
MinIO is configured through a combination of:
- CLI flags (defined in
cmd/server-main.go,cmd/main.go, etc.). - Environment variables (looked up via
github.com/minio/pkg/v3/env). - A YAML config file (
--config /etc/minio/config.yaml, parsed incmd/server-main.go). - The cluster KV config persisted on the object store (
mc admin config get/set).
Per-subsystem schemas are registered with internal/config/. This page lists the most-used environment variables grouped by area. The full list — including hidden flags and per-target notification env vars — lives in source.
Server bootstrap
| Env var | Default | Source |
|---|---|---|
MINIO_ROOT_USER |
required | cmd/server-main.go |
MINIO_ROOT_PASSWORD |
required | cmd/server-main.go |
MINIO_ADDRESS |
:9000 |
cmd/server-main.go |
MINIO_CONSOLE_ADDRESS |
random | cmd/server-main.go |
MINIO_CONFIG |
empty | YAML config path |
MINIO_CERTS_DIR |
~/.minio/certs |
TLS cert directory |
MINIO_LOG_DIR |
empty | Rotating log directory |
MINIO_LOG_SIZE |
10 MiB | Per-file rotation size |
MINIO_LOG_COMPRESS |
off | gzip rotated logs |
MINIO_MEMLIMIT |
unset | GOMEMLIMIT for the process |
MINIO_OPTS |
empty | Extra CLI args (used by service files) |
API
| Env var | Default | Source |
|---|---|---|
MINIO_API_REQUESTS_MAX |
scales with cores | internal/config/api/ |
MINIO_API_REQUESTS_DEADLINE |
10s | internal/config/api/ |
MINIO_API_CORS_ALLOW_ORIGIN |
* |
CORS allow-list |
MINIO_API_REPLICATION_WORKERS |
scales with cores | internal/config/api/ |
MINIO_API_REPLICATION_FAILED_WORKERS |
configurable | internal/config/api/ |
MINIO_API_TRANSITION_WORKERS |
configurable | internal/config/api/ |
Identity
LDAP:
| Env var | Source |
|---|---|
MINIO_IDENTITY_LDAP_SERVER_ADDR |
internal/config/identity/ldap/ |
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER |
LDAP search filter |
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN |
LDAP base DN |
MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER |
Group filter |
MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY |
for self-signed CAs |
OpenID:
| Env var | Source |
|---|---|
MINIO_IDENTITY_OPENID_CONFIG_URL |
internal/config/identity/openid/ |
MINIO_IDENTITY_OPENID_CLIENT_ID |
OAuth2 client id |
MINIO_IDENTITY_OPENID_CLIENT_SECRET |
OAuth2 secret |
MINIO_IDENTITY_OPENID_CLAIM_NAME |
which claim maps to a policy (default policy) |
MINIO_IDENTITY_OPENID_REDIRECT_URI |
console redirect |
Plug-in:
| Env var | Source |
|---|---|
MINIO_IDENTITY_PLUGIN_URL |
internal/config/identity/plugin/ |
MINIO_IDENTITY_PLUGIN_AUTH_TOKEN |
bearer token to the plug-in |
KMS
| Env var | Source |
|---|---|
MINIO_KMS_KES_ENDPOINT |
KES endpoint URL |
MINIO_KMS_KES_CERT_FILE |
client cert |
MINIO_KMS_KES_KEY_FILE |
client key |
MINIO_KMS_KES_CAPATH |
CA bundle |
MINIO_KMS_KES_KEY_NAME |
default KEK name |
MINIO_KMS_AUTO_ENCRYPTION |
on/off; force SSE-S3 |
MINIO_KMS_SECRET_KEY |
local single-key fallback (dev only) |
Heal
| Env var | Source |
|---|---|
MINIO_HEAL_DRIVE_WORKERS |
internal/config/heal/ |
MINIO_HEAL_MAX_IO |
I/O cap |
MINIO_HEAL_SLEEP |
per-iteration sleep |
Scanner
| Env var | Source |
|---|---|
MINIO_SCANNER_SPEED |
slow / default / fast |
MINIO_SCANNER_DELAY |
per-object pause |
MINIO_SCANNER_MAX_WAIT |
max wait under load |
Storage class
| Env var | Source |
|---|---|
MINIO_STORAGE_CLASS_STANDARD |
EC:N parity for default class |
MINIO_STORAGE_CLASS_RRS |
EC:N parity for reduced redundancy |
Logging and audit
| Env var | Source |
|---|---|
MINIO_LOGGER_WEBHOOK_ENDPOINT_<id> |
webhook URL |
MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_<id> |
bearer |
MINIO_AUDIT_WEBHOOK_ENDPOINT_<id> |
audit webhook |
MINIO_AUDIT_KAFKA_BROKERS_<id> |
Kafka brokers |
MINIO_AUDIT_KAFKA_TOPIC_<id> |
Kafka topic |
Notifications
For each target type, the env var pattern is MINIO_NOTIFY_<TYPE>_<KEY>_<ID>. Examples:
| Target | Sample env var |
|---|---|
| Kafka | MINIO_NOTIFY_KAFKA_BROKERS_primary |
| NATS | MINIO_NOTIFY_NATS_ADDRESS_primary |
| MQTT | MINIO_NOTIFY_MQTT_BROKER_primary |
| Webhook | MINIO_NOTIFY_WEBHOOK_ENDPOINT_primary |
| ElasticSearch | MINIO_NOTIFY_ELASTICSEARCH_URL_primary |
| AMQP | MINIO_NOTIFY_AMQP_URL_primary |
| Redis | MINIO_NOTIFY_REDIS_ADDRESS_primary |
| NSQ | MINIO_NOTIFY_NSQ_NSQD_ADDRESS_primary |
| MySQL / PostgreSQL | MINIO_NOTIFY_{MYSQL,POSTGRES}_DSN_STRING_primary |
Each target supports QUEUE_DIR, QUEUE_LIMIT, and (where relevant) BATCH_SIZE. See internal/config/notify/.
Browser / console
| Env var | Source |
|---|---|
MINIO_BROWSER |
enable/disable embedded console |
MINIO_BROWSER_REDIRECT_URL |
external URL the console is reached via |
MINIO_BROWSER_LOGIN_ANIMATION |
UI tweaks |
Compression
| Env var | Source |
|---|---|
MINIO_COMPRESS_ENABLE |
enable transparent compression |
MINIO_COMPRESS_EXTENSIONS |
extension allow-list |
MINIO_COMPRESS_MIME_TYPES |
MIME allow-list |
Replication
Bucket-replication knobs live under MINIO_API_REPLICATION_* (see API table). Site replication has a few of its own:
| Env var | Source |
|---|---|
MINIO_SITE_NAME |
optional site label |
MINIO_SITE_REGION |
optional region label |
Misc
| Env var | Source |
|---|---|
MINIO_PROMETHEUS_AUTH_TYPE |
public (default), jwt |
MINIO_DOMAIN |
virtual-host style domain |
MINIO_PUBLIC_IPS |
extra public IPs for DNS announcements |
MINIO_REGION |
cluster region |
MINIO_ETCD_ENDPOINTS |
etcd cluster for coordination |
MINIO_CALLHOME_ENABLE |
opt-in telemetry to MinIO SUBNET |
CLI flags
./minio server --help prints every flag (including hidden ones tagged Hidden: true in cmd/server-main.go). Flags and env vars usually come in pairs; the env var wins when both are set.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.