Engineering Core
ISB Vietnam's skilled software engineers deliver high-quality applications, leveraging their extensive experience in developing financial tools, business management systems, medical technology, and mobile/web platforms.

Continuing the series on web development, this article shares my experience with MinIO, which allows users to build an S3 Storage locally. This is a case study that I usually encounter in my work. Today, cloud storage is commonly used in many projects, including AWS S3.

It seems that object storage has become an essential part of modern web application architecture. However, AWS S3 is not always readily available for developers to use. Therefore, I needed to find an alternative solution. That’s when MinIO emerged as a lightweight, fast, and highly flexible option, allowing you to set up an S3-compatible storage system right on your local machine or private infrastructure. In this article, we will explore MinIO: from how it works, how to install it, to its practical applications and best practices for harnessing its full potential.

1. Introduce.

What is MinIO?

MinIO is an open-source object storage system designed to be fully compatible with the Amazon S3 protocol.

Easier to understand, MinIO allows you to deploy an "S3 service" locally or within your own infrastructure, without needing to connect to Amazon AWS.

Min IO homepage: https://min.io/

Continuing the journey: our new mascot and wordmark

Why did I choose MinIO?

  1. Local development and testing: When building applications that interact with S3, pushing code to AWS for every test is impractical. MinIO allows you to mock an S3 service directly on your personal computer.
  2. Cost optimization: Instead of paying for expensive cloud storage, you can use MinIO with physical hard drives or existing storage systems.
  3. Control: Since MinIO is installed locally, you have full control over its operations.

=> In summary, MinIO is the ideal solution if you need a simple, flexible, self-hosted, and cost-effective S3-compatible storage service.

 

2. Installation instructions

There are many ways to install minIO

    • Run directly with the executable file
    • Docker
    • Kubernetes

However, in this article, I will share the way I use most often
That is to run directly using the executable file
Here, I will guide you in detail how to install MinIO on Windows

1. Download the setup file from the MinIO server

Download the MinIO executable from the following URL: https://dl.min.io/server/minio/release/windows-amd64/minio.exe

 

2. Run the setup file

You can not run the .exe file from Explorer or by double-clicking the file.
Instead, you call the executable to launch the server.
You have to open PowerShell or the Command Prompt and navigate to the folder that contains the installation file.
After that, run the command line below.

.\minio.exe server D:\MinIO --console-address :9001

 

Try accessing the link below: http://127.0.0.1:9001

This is the admin page of your local minIO

 

Log in with the  default account
User name: minioadmin
Password: minioadmin

 

So, you have successfully installed MinIO. Next, let's try to learn how to use it.

 

3. Practice

To make it easier to visualize, I will make a simple demo with Python.

1. Create Access Key.

Similar to AWS S3, to operate with MinIO, you also need to create an Access Key. Access the link as shown below.

 

Note: Save Access Keys

2. Create a file named minIO.py

 

Run the following command line to install the package

python -m pip install boto3 pandas

Run the source code

 

Check the file on MinIO

 

So we have successfully uploaded the file to MinIO using Boto3 instead of AWS S3.

4. Conclusion

MinIO provides a powerful and flexible object storage solution, even in local environments.
Through this article, I have introduced a tool that can alternative to S3. It is free, easy to use, has an intuitive UI, and offers many other useful features.
I hope it will be helpful for your future projects.
Hope this article is useful for you, and see you in my next articles.

5. Reference

https://min.io/

Written by
Author Avatar
Engineering Core
ISB Vietnam's skilled software engineers deliver high-quality applications, leveraging their extensive experience in developing financial tools, business management systems, medical technology, and mobile/web platforms.

COMPANY PROFILE

Please check out our Company Profile.

Download

COMPANY PORTFOLIO

Explore my work!

Download

ASK ISB Vietnam ABOUT DEVELOPMENT

Let's talk about your project!

Contact US