Setup MinIO as AWS S3 alternative in development with docker
Installation
-
Make sure your local machine already have Docker installed.
-
Run MinIO:
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio-local \
-v ${HOME}/projects/minio:/data1 \
-e "MINIO_ROOT_USER=miniouser" \
-e "MINIO_ROOT_PASSWORD=miniopass" \
quay.io/minio/minio server /data1 --console-address ":9001"
- On your Laravel project, install the dependency
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
- Change the
.env
on your project
AWS_ACCESS_KEY_ID=miniouser
AWS_SECRET_ACCESS_KEY=miniopass
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=testing-saint
AWS_USE_PATH_STYLE_ENDPOINT=false
AWS_ENDPOINT="http://127.0.0.1:9000"
- Running after rebooting your PC / Laptop / Mac (shall I mention rpi too?)
docker start minio-local
-
Accessing the web interface Open your web browser, access
http://localhost:9001
Click 'Create Bucket', and a modal window will be shown like this:
Set the bucket name. The bucket name will be used as AWS_BUCKET
in your app.