storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/docs/multi-tenancy/README.md (about) 1 # MinIO Multi-Tenant Deployment Guide [](https://slack.min.io) [](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 ## <a name="standalone-deployment"></a>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  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  36 37 ## <a name="distributed-deployment"></a>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  62 63 **Note**: On distributed systems, credentials must be defined and exported using the `MINIO_ROOT_USER` and `MINIO_ROOT_PASSWORD` environment variables. If a domain is required, it must be specified by defining and exporting the `MINIO_DOMAIN` environment variable. 64 65 ## <a name="cloud-scale-deployment"></a>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://docs.min.io/docs/minio-deployment-quickstart-guide) to get started with MinIO on orchestration platforms.