1. Introduction

2. Lab1: Manual installation/test (macOS version)

2.1. Server start

$ git clone https://github.com/paulojeronimo/minio-labs && cd `basename $_`
$ source functions.sh
$ mkdir -p bin
$ echo $PATH | tr : '\n' | grep "$PWD/bin"
$ (cd bin && wget -c https://dl.min.io/server/minio/release/darwin-amd64/minio && chmod +x minio)
$ MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password minio server ./data | tee minio.log

Sample output:

Attempting encryption of all config, IAM users and policies on MinIO backend
Endpoint: http://192.168.15.6:9000  http://127.0.0.1:9000
RootUser: admin
RootPass: password

Browser Access:
   http://192.168.15.6:9000  http://127.0.0.1:9000

Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc alias set myminio http://192.168.15.6:9000 admin password

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

2.2. Client test

Open another shell.

$ open http://127.0.0.1:9000
$ (cd bin && wget -c https://dl.min.io/client/mc/release/darwin-amd64/mc && chmod +x mc)
$ endpoint=$(grep Endpoint minio.log | cut -d ' ' -f 2)
$ echo $endpoint
$ mc alias set myminio $endpoint admin password
$ mc alias list
$ mkdir -p tmp && lorem -l 3 > $_/text1.txt
$ cat tmp/text1.txt
$ mc mb myminio/mybucket
$ mc cp --recursive tmp/ myminio/mybucket
$ mkdir -p tmp/dir1/ && lorem -l 4 > $_/text2.txt
$ !mc
$ rm -rf tmp
$ mc cp --recursive myminio/mybucket/ tmp/
$ tree tmp
$ tree data

3. Lab2: Docker Compose

Stop the minio server started in Lab 1!
$ cat docker-compose.yaml
$ docker-compose up -d

4. Lab 3: MinIO Java SDK