minio for local s3 testing
minio for local s3 testing
How to setup minio for use in local development.
services:
minio:
image: quay.io/minio/minio
container_name: minio-local
volumes:
- minio_data:/data
ports:
- "9090:9090"
- "9000:9000"
environment:
MINIO_ROOT_USER: root
MINIO_ROOT_PASSWORD: password
command: "server /data --console-address :9090"
volumes:
minio_data: {}
The minio
profile will point any s3 data to the s3-specific
service which
uses our local minio
container as the endpoint_url.
You’ll also need to aws configure --profile minio
and enter the API keys from
minio
. To create them in the UI go to Access Keys
.
[profile minio]
services = s3-specific
[services s3-specific]
s3 =
endpoint_url = http://localhost:9000
In the code we have to create and load some environment variables so that it won’t use the defaults
AWS_PROFILE=minio
AWS_ENDPOINT_URL_S3=http://localhost:9000
And finally in we need to create a bucket in minio
called my-bucket
or
whatever you like. I just do that in the UI.
AWSWrangler
Once those items have been established, its possible to use the minio
profile
for awswrangler
.
The best way to do this without making any code changes is to use environment variables.
In addition to the variables above also add
AWS_ENDPOINT_URL=http://localhost:9000
.
All together it will look like:
AWS_PROFILE=minio
AWS_ENDPOINT_URL=http://localhost:9000
AWS_ENDPOINT_URL_S3=http://localhost:9000
This will work on most s3 projects
Tags:
#s3 #aws #development