github.com/minio/minio@v0.0.0-20240328213742-3f72439b8a27/docs/multi-tenancy/README.md (about)

     1  # MinIO Multi-Tenant Deployment Guide [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io) [![Docker Pulls](https://img.shields.io/docker/pulls/minio/minio.svg?maxAge=604800)](https://hub.docker.com/r/minio/minio/)
     2  
     3  This topic provides commands to set up different configurations of hosts, nodes, and drives. The examples provided here can be used as a starting point for other configurations.
     4  
     5  1. [Standalone Deployment](#standalone-deployment)
     6  2. [Distributed Deployment](#distributed-deployment)
     7  3. [Cloud Scale Deployment](#cloud-scale-deployment)
     8  
     9  ## 1. Standalone Deployment
    10  
    11  To host multiple tenants on a single machine, run one MinIO Server per tenant with a dedicated HTTPS port, configuration, and data directory.
    12  
    13  ### 1.1 Host Multiple Tenants on a Single Drive
    14  
    15  Use the following commands to host 3 tenants on a single drive:
    16  
    17  ```sh
    18  minio server --address :9001 /data/tenant1
    19  minio server --address :9002 /data/tenant2
    20  minio server --address :9003 /data/tenant3
    21  ```
    22  
    23  ![Example-1](https://github.com/minio/minio/blob/master/docs/screenshots/Example-1.jpg?raw=true)
    24  
    25  ### 1.2 Host Multiple Tenants on Multiple Drives (Erasure Code)
    26  
    27  Use the following commands to host 3 tenants on multiple drives:
    28  
    29  ```sh
    30  minio server --address :9001 /disk{1...4}/data/tenant1
    31  minio server --address :9002 /disk{1...4}/data/tenant2
    32  minio server --address :9003 /disk{1...4}/data/tenant3
    33  ```
    34  
    35  ![Example-2](https://github.com/minio/minio/blob/master/docs/screenshots/Example-2.jpg?raw=true)
    36  
    37  ## 2. Distributed Deployment
    38  
    39  To host multiple tenants in a distributed environment, run several distributed MinIO Server instances concurrently.
    40  
    41  ### 2.1 Host Multiple Tenants on Multiple Drives (Erasure Code)
    42  
    43  Use the following commands to host 3 tenants on a 4-node distributed configuration:
    44  
    45  ```sh
    46  export MINIO_ROOT_USER=<TENANT1_ACCESS_KEY>
    47  export MINIO_ROOT_PASSWORD=<TENANT1_SECRET_KEY>
    48  minio server --address :9001 http://192.168.10.1{1...4}/data/tenant1
    49  
    50  export MINIO_ROOT_USER=<TENANT2_ACCESS_KEY>
    51  export MINIO_ROOT_PASSWORD=<TENANT2_SECRET_KEY>
    52  minio server --address :9002 http://192.168.10.1{1...4}/data/tenant2
    53  
    54  export MINIO_ROOT_USER=<TENANT3_ACCESS_KEY>
    55  export MINIO_ROOT_PASSWORD=<TENANT3_SECRET_KEY>
    56  minio server --address :9003 http://192.168.10.1{1...4}/data/tenant3
    57  ```
    58  
    59  **Note:** Execute the commands on all 4 nodes.
    60  
    61  ![Example-3](https://github.com/minio/minio/blob/master/docs/screenshots/Example-3.jpg?raw=true)
    62  
    63  **Note**: On distributed systems, root credentials are recommend to be defined by exporting the `MINIO_ROOT_USER` and  `MINIO_ROOT_PASSWORD` environment variables. If no value is set MinIO setup will assume `minioadmin/minioadmin` as default credentials. If a domain is required, it must be specified by defining and exporting the `MINIO_DOMAIN` environment variable.
    64  
    65  ## Cloud Scale Deployment
    66  
    67  A container orchestration platform (e.g. Kubernetes) is recommended for large-scale, multi-tenant MinIO deployments. See the [MinIO Deployment Quickstart Guide](https://min.io/docs/minio/container/index.html#quickstart-for-linux) to get started with MinIO on orchestration platforms.