Install MinIO AIStor on Ubuntu Server
MinIO AIStor is licensed under the MinIO Software License. An active license is required for production deployments.
This procedure downloads and installs the AIStor Server onto bare-metal hosts running Ubuntu Server Linux.
Review the Hardware and System Requirements to ensure your target infrastructure meets our guidance. You can also open a SUBNET issue to request an architecture review or assistance during deployment.
MinIO strongly recommends using only Long-Term Support (LTS) Ubuntu releases in the LTS standard security maintenance lifecycle with a Linux Kernel version 6.8 or later, such as Ubuntu 24.04 LTS. See Linux Kernel Requirements for recommended distributions and performance details.
Procedure
Repeat these steps for each node in the deployment.
-
Download the AIStor Server
.debpackageMinIO AIStor provides a
.debpackage for theAMD64andARM64architectures. Download the package that reflects the host system’s architecture:curl --progress-bar -L dl.min.io/aistor/minio/release/linux-amd64/minio.deb -o minio.deb sudo dpkg -i minio.debcurl --progress-bar -L dl.min.io/aistor/minio/release/linux-arm64/minio.deb -o minio.deb sudo dpkg -i minio.debYou can validate the installation by running
minio --version.The DEB package creates a new
systemdunit file for the AIStor Server. Runsystemctl status minioto validate the installation of thesystemdfile. -
Retrieve your license file
Log into SUBNET and select the License button in the Deployments view.

The Account License modal Create the
/opt/miniodirectory if it does not exist. Download the file to/opt/minio/minio.licenseand set the ownership tominio-user:sudo mkdir /opt/minio sudo touch /opt/minio/minio.license sudo chown -R minio-user:minio-user /opt/minioEdit the
minio.licensefile and replace its contents with the license string from the previous step.License Management
Starting with AIStor Server RELEASE.2025-12-20T04-58-37Z, deployments can start without a license in offline mode. All S3 operations are blocked until you install a valid license, but the Admin API and Console remain accessible.
After deployment starts, you can register with SUBNET and apply your license:
mc license register ALIAS --license /path/to/minio.licenseFor license renewal, expiration details, and mode restrictions, see Licenses.
-
Review the environment file
The DEB package installs an environment file to
/etc/default/minioautomatically. Review the contents of the file and modify as directed based on your preferred topology.Free tier license restriction
MinIO AIStor
minio.RELEASE.2025-12-20T04-58-37Zor later adds support for MinIO AIStor Free licenses. Clusters using the MinIO AIStor Free license support only single-node single-drive and single-node multi-drive patterns.# Copy the value of your SUBNET license below MINIO_LICENSE="/opt/minio/minio.license" # Define the expected topology of the deployment # # The following is a multi-node multi-drive "distributed" deployment pattern # that supports high performance, high availability, and large storage requirements # # MinIO recommends distributed topologies for production workloads. # # The command includes the port that each Server listens on # (default 9000). MINIO_VOLUMES="http://minio-{1...4}.example.net:9000/mnt/drive-{1...4}/minio"# Copy the value of your SUBNET license below MINIO_LICENSE="/opt/minio/minio.license" # Define the expected topology of the deployment # # The following is a single-node multi-drive deployment pattern # appropriate for storage workloads where distributed performance and # high availability are not requirements. # # The command includes the port that each Server listens on # (default 9000). MINIO_VOLUMES="http://aistor.example.net:9000/mnt/drive-{1...4}/minio"# Copy the value of your SUBNET license below MINIO_LICENSE="/opt/minio/minio.license" # Define the expected topology of the deployment # # The following is a single-node single-drive deployment pattern # appropriate for workloads where distributed performance and # high availability are not requirements. # # Single-Node Single-Drive Startup MINIO_VOLUMES="/mnt/drive-1/minio"For distributed deployments, all nodes must have matching
/etc/default/minioenvironment files. Use a utility such asshasum -a 256 /etc/default/minioon each node to verify an exact match across all nodes. -
Ensure MinIO AIStor has ownership of associated folders and drives.
The
minio.servicefile runs as theminio-useruser and group by default. This user must have read/write/access permissions to all files, folders, and drive paths provided to the server process. The DEB package installation creates the user and group by default.Use the
chownandchmodcommands to ensure theminio-useruser and group have the necessary ownership and access permissions. For example:chown -R minio-user:minio-user /opt/minio/ # Change this to reflect the series of volumes specified # to the MINIO_VOLUMES environment variable # # This assumes you have already mounted the drives at the given path chown -R minio-user:minio-user /mnt/drive-{1..4}Repeat this step for each node in the deployment.
-
Enable and start the MinIO AIStor deployment.
Use
systemctl enable minio.serviceandsystemctl start minioto enable and start the server process respectively.You can track the status of the startup using
journalctl -u minioon each node.On successful startup, each
minioprocess emits output to the log resembling the following:MinIO Enterprise AIStor Server Copyright: 2015-2024 MinIO, Inc. Version: RELEASE.YYYY-MM-DDTHH-SS-mmZ (go1.22.4 linux/amd64) API: https://minio-1.example.net:9000 https://203.0.113.10:9000 https://127.0.0.1:9000 RootUser: minioadmin RootPass: minioadmin WebUI: https://minio-1.example.net:9001 https://203.0.113.10:9001 https://127.0.0.1:9001 RootUser: minioadmin RootPass: minioadmin CLI: https://docs.min.io/aistor/reference/cli/#quickstart $ mc alias set 'myaistor' 'https://minio-1.example.net:9000' 'minioadmin' 'minioadmin' Docs: https://docs.min.io/aistor/ Status: 4 Online, 0 Offline.The MinIO AIStor
minioservice does not automatically start on host reboot. You must usesystemctl enable minio.serviceto start the process as part of the host boot. -
Install the AIStor Client (
mc)wget https://dl.min.io/aistor/mc/release/linux-amd64/mc -O mc chmod +x ./mc mv ./mc /usr/local/bin/ mc --versionwget https://dl.min.io/aistor/mc/release/linux-arm64/mc -O mc chmod +x ./mc mv ./mc /usr/local/bin mc --version -
Connect to the Deployment
You can connect to the deployment using the built-in Console UI or the AIStor Client (
mc).Open your browser to the hostname and port of any node in the deployment. The WebUI output from the previous step indicates which hostnames and ports the
minioprocess listens on.Log in using the default
minioadmin:minioadminusername and password.-
Create a new alias for the MinIO AIStor server:
mc alias set myaistor http://aistor.example.net:9000 minioadmin minioadminReplace the URL with the hostname of any node in the deployment or a load balancer, reverse proxy, or similar network control plane component managing connections to the deployment.
-
Create a bucket and copy a file to that bucket:
mc mb myaistor/data mc cp ~/somefile.txt myaistor/data
-