Startup Configuration File
AIStor supports using a YAML-formatted configuration file for specifying startup server parameters. The configuration file supports specific advanced deployment patterns, such as distributed clusters with non-sequential hostnames or otherwise heterogeneous hostname patterns.
Example config.yaml
The following example configuration lists all available fields and example values for AIStor Server RELEASE.2026-02-02T23-40-11Z and later.
Remove any parameters you do not need.
version: v2
# Core settings
address: ":9000"
consoleAddress: ":9001"
rootUser: "minioadmin"
rootPassword: "secret-CHANGE-ME"
license: "/path/to/license.minio"
certsDir: "/etc/minio/certs"
# Behavior settings
api: "S3"
objectNaming: "safe"
# Storage configuration
storage:
lazyAccessTime: "24h"
# FTP server configuration
ftp:
address: ":8021"
passivePortRange: "30000-40000"
# SFTP server configuration
sftp:
address: ":8022"
sshPrivateKey: "/etc/minio/sftp-key"
# Storage pools
pools:
- args:
- "https://rack1.example.com:9000/mnt/disk{1...4}"
- "https://rack3.example.com:9000/mnt/disk{1...4}"
- "https://rack5.example.com:9000/mnt/disk{1...4}"
- "https://rack7.example.com:9000/mnt/disk{1...4}"
- args:
- "https://rack2.example.com:9000/mnt/disk{1...4}"
- "https://rack4.example.com:9000/mnt/disk{1...4}"
- "https://rack6.example.com:9000/mnt/disk{1...4}"
- "https://rack8.example.com:9000/mnt/disk{1...4}"
Parameters
Core settings
The configuration file must include the version and pools fields.
All other fields are optional.
Required
Configuration format version.
Must be v2.
Specify a string value.
:9000.
:9001.
minioadmin.
minioadmin.
/etc/minio/certs.
Behavior settings
API mode.
Set to S3 for standard S3 API compatibility.
Specify a string value.
Object naming mode.
Options:
safe(default)extended(supports//in names). For more details on the extended mode, see Extended name mode.
This mode cannot be changed after initial AIStor boot.
Specify a string value.
Defaults to safe.
https://node1.example.com:9000).
Specify a string value.
on to allow HTTP for IDP endpoints.
Specify a string value.
8GiB).
Supports standard size suffixes.
Specify a string value.
Network configuration
The network object configures network behavior and timeouts.
All fields are optional.
30s.
10s.
10m.
1h.
100.
262144.
262144.
32768.
32768.
Duration values support standard Go duration formats (for example, 30s, 10m, 1h).
Log configuration
The log object configures logging behavior.
All fields are optional.
false.
100.
gzip.
Specify true or false.
Defaults to false.
Deprecated
Disable startup informational messages.
Specify true or false.
Defaults to false.
Deprecated
Hide sensitive information from logs (such as credentials and IPs).
Specify true or false.
Defaults to false.
Storage configuration
The storage object configures storage behavior.
All fields are optional.
12h or 2d.
Defaults to 24h.
FTP configuration
The ftp object configures the optional FTP server.
See File Transfer Protocol for more information.
:8021).
30000-40000).
SFTP configuration
The sftp object configures the optional SFTP server.
See File Transfer Protocol for more information.
:8022).
Pools
The pools field takes an array of args, each of which defines a set of hosts in a server pool.
Each arg element is an endpoint string that supports standard ellipsis notation {n...m} for specifying sequential series of IP or hostnames.
You can specify any combination of hosts and drives, allowing for more complex topologies without modifying OS settings like /etc/hosts or customized DNS configurations.
For example, the following configuration defines a pool with four hosts with heterogeneous naming conventions:
pools:
- args:
- "https://rack2.example.com:9000/mnt/disk{1...4}"
- "https://rack4.example.com:9000/mnt/disk{1...4}"
- "https://198.51.100.10:9000/mnt/disk{1...8}"
- "https://203.0.113.10:9000/mnt/disk{1...8}"
While the pools configuration supports complex topologies, it requires careful planning and consideration around the consequences or outcomes of the selected infrastructure.
The uneven drive distribution in this sample configuration results in certain hosts having a higher impact on HA and performance in the event of planned or unexpected downtime.
Configuration settings and CLI equivalents
The following tables map configuration file fields to their corresponding environment variables and command-line flags, along with the precedence order when the same parameter is configured in multiple ways.
Core settings
| Config File | Environment Variable | CLI Flag | Precedence Order |
|---|---|---|---|
| pools.args | MINIO_VOLUMES | minio server DIRS | Config > Env |
| address | MINIO_ADDRESS | --address | Config > Env > CLI |
| consoleAddress | MINIO_CONSOLE_ADDRESS | --console-address | Config > Env > CLI |
| license | - | --license | Config > CLI |
| certsDir | - | --certs-dir | Config > CLI |
| rootUser | MINIO_ROOT_USER | - | Env > Config |
| rootPassword | MINIO_ROOT_PASSWORD | - | Env > Config |
Behavior settings
| Config File | Environment Variable | CLI Flag | Precedence Order |
|---|---|---|---|
| api | - | --api | Config > CLI |
| objectNaming | MINIO_OBJECT_NAMING | --object-naming | Config > Env > CLI |
| bootstrapLeader | - | --bootstrap-leader | Config > CLI |
| idpHttpMode | - | --idp-http-mode | Config > CLI |
| memLimit | - | --mem-limit | Config > CLI |
Storage configuration
| Config File | Environment Variable | CLI Flag | Precedence Order |
|---|---|---|---|
| storage.lazyAccessTime | - | --lazy-access-time | Config > CLI |
FTP and SFTP configuration
| Config File | CLI Flag | Precedence Order |
|---|---|---|
| ftp.address | --ftp=“address=:8021” | Config > CLI |
| ftp.passivePortRange | --ftp=“passive-port-range=…” | Config > CLI |
| sftp.address | --sftp=“address=:8022” | Config > CLI |
| sftp.sshPrivateKey | --sftp=“ssh-private-key=…” | Config > CLI |