Install and configure MinIO AIStor enterprise object storage server on RHEL/CentOS and Debian/Ubuntu.
Enterprise License Required: MinIO AIStor is a commercial product. A valid enterprise license is required for production use. See MinIO Licensing for details.
- Ansible >= 2.9
- Supported target OS: Ubuntu (focal, jammy, noble), Debian (bullseye, bookworm), RHEL/CentOS (8, 9)
- Target hosts must have internet access to download binaries from
dl.min.io
Clone this repository into your Ansible roles directory:
git clone https://github.com/minio/ansible-minio.git roles/minioansible-galaxy install minio.minio# site.yml
- name: "Install MinIO AIStor"
hosts: minio_servers
become: yes
roles:
- role: minio
vars:
minio_root_user: "minio-admin"
minio_root_password: "a-strong-password-here"
minio_license: "files/minio.license"
minio_server_datadirs:
- "/mnt/data"# inventory.ini
[minio_servers]
minio1.example.comansible-playbook -i inventory.ini site.ymlThis installs the MinIO AIStor server and mc client, creates the minio-user system user, configures the service, and starts it. The server will be available at http://minio1.example.com:9000 with the console at port 9001.
- hosts: minio_servers
become: yes
roles:
- role: minio
vars:
minio_root_user: "minio-admin"
minio_root_password: "a-strong-password-here"
minio_license: "files/minio.license"
minio_server_port: "9000"
minio_console_port: "9001"
minio_server_datadirs:
- "/mnt/disk1"
- "/mnt/disk2"
- "/mnt/disk3"
- "/mnt/disk4"When deploying a distributed cluster, minio_server_args defines the volume topology passed to MINIO_VOLUMES, while minio_server_datadirs defines the local directories to create on each host.
- hosts: minio_servers
become: yes
roles:
- role: minio
vars:
minio_root_user: "minio-admin"
minio_root_password: "a-strong-password-here"
minio_license: "files/minio.license"
minio_server_datadirs:
- "/mnt/data1"
- "/mnt/data2"
- "/mnt/data3"
- "/mnt/data4"
minio_server_args:
- "https://minio{1...4}.example.com/mnt/data{1...4}"vars:
minio_server_release: "RELEASE.2026-03-26T21-24-40Z"
minio_client_release: "RELEASE.2026-03-26T21-24-40Z"- hosts: workstations
become: yes
roles:
- role: minio
vars:
minio_install_server: false
minio_install_client: trueUse minio_server_env_extra to set any additional MinIO environment variables in config.env:
vars:
minio_server_env_extra: |
MINIO_SITE_REGION="us-east-1"
MINIO_BROWSER=on| Variable | Default | Description |
|---|---|---|
minio_server_bin |
/usr/local/bin/minio |
Installation path of the server binary |
minio_client_bin |
/usr/local/bin/mc |
Installation path of the client binary |
minio_server_release |
"" (latest) |
Server release to install, e.g. RELEASE.2026-03-26T21-24-40Z |
minio_client_release |
"" (latest) |
Client release to install |
minio_user |
minio-user |
System user that runs the MinIO service |
minio_group |
minio-user |
System group for the MinIO service user |
minio_server_envfile |
/etc/default/minio |
Systemd EnvironmentFile with startup vars |
minio_config_dir |
/etc/minio |
Config directory (holds config.env, certs/, minio.license) |
minio_server_ip |
"" |
Bind IP for the server (empty = all interfaces) |
minio_server_port |
"9000" |
Server API port |
minio_server_addr |
":9000" |
Full server listen address (derived from ip + port) |
minio_console_ip |
"" |
Bind IP for the console |
minio_console_port |
"9001" |
Console port |
minio_console_addr |
":9001" |
Full console listen address (derived from ip + port) |
minio_server_datadirs |
["/var/lib/minio"] |
Data directories to create on disk |
minio_server_make_datadirs |
true |
Whether to create data directories |
minio_server_args |
[] |
Volume args for MINIO_VOLUMES (used in distributed mode) |
minio_server_env_extra |
"" |
Extra env vars appended to config.env |
minio_server_opts |
"" |
Additional CLI options for minio server |
minio_root_user |
"" |
Root username (MINIO_ROOT_USER) |
minio_root_password |
"" |
Root password (MINIO_ROOT_PASSWORD) |
minio_license |
"" |
Path to license file (copied to config_dir/minio.license) |
minio_install_server |
true |
Install the MinIO AIStor server |
minio_install_client |
true |
Install the MinIO AIStor client (mc) |
minio_enable_ssl |
false |
Use HTTPS for health check URL |
After running this role, the following is set up on target hosts:
| Path | Purpose |
|---|---|
/usr/local/bin/minio |
Server binary |
/usr/local/bin/mc |
Client binary |
/etc/default/minio |
Systemd EnvironmentFile (MINIO_VOLUMES, MINIO_OPTS, MINIO_CONFIG_ENV_FILE) |
/etc/minio/config.env |
Credentials and extra environment variables |
/etc/minio/certs/ |
TLS certificates directory |
/etc/minio/certs/CAs/ |
CA certificates directory |
/etc/minio/minio.license |
License file (if minio_license is set) |
/etc/systemd/system/minio.service |
Systemd unit file |
/var/lib/minio |
Default data directory |
The service runs as the minio-user system user and is enabled to start on boot.
None.
MinIO Software License (Proprietary). See LICENSE.md for details.