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/

Why did I choose MinIO?
- 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.
- Cost optimization: Instead of paying for expensive cloud storage, you can use MinIO with physical hard drives or existing storage systems.
- 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/