MinIO is a high-performance, S3-compatible object storage server. Run your own S3 locally or on your servers — same API, no cloud vendor lock-in.
What Is MinIO?
MinIO is 100% compatible with the Amazon S3 API. Any tool that works with S3 works with MinIO — SDKs, CLIs, applications.
Features:
- S3 API compatible
- Single binary
- Erasure coding
- Encryption at rest
- Bucket versioning
- Free and open source
Quick Start
docker run -p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=password123 \
minio/minio server /data --console-address ":9001"
Console: http://localhost:9001
API: http://localhost:9000
S3 API (works with any S3 SDK)
# Using AWS CLI with MinIO
aws --endpoint-url http://localhost:9000 s3 mb s3://my-bucket
aws --endpoint-url http://localhost:9000 s3 cp file.txt s3://my-bucket/
aws --endpoint-url http://localhost:9000 s3 ls s3://my-bucket/
Python (boto3)
import boto3
s3 = boto3.client("s3",
endpoint_url="http://localhost:9000",
aws_access_key_id="admin",
aws_secret_access_key="password123"
)
s3.create_bucket(Bucket="data")
s3.upload_file("local.csv", "data", "remote.csv")
for obj in s3.list_objects_v2(Bucket="data")["Contents"]:
print(obj["Key"])
Use Cases
- Local S3 — develop without AWS costs
- Data lake — store Parquet, CSV, JSON
- Backup storage — self-hosted backups
- ML data — training data storage
- Media storage — images, videos, documents
MinIO vs S3
| Feature | MinIO | AWS S3 |
|---|---|---|
| API | Same | Same |
| Price | Free | Pay per use |
| Location | Your servers | AWS regions |
| Performance | Very fast | Fast |
| Vendor lock-in | None | AWS |
Need web data at scale? Check out my scraping tools on Apify or email spinov001@gmail.com for custom solutions.
Top comments (0)