You need at least:
- S3 backend provided by minio (https://docs.min.io/docs/minio-quickstart-guide.html)
- ACCESS and SECRET key's (considered sometimes as username/password) to access your bucket.
- It is recommended to expose only specific buckets. In this example bucket
downloads
andsheets
will be exposed.
docker run -d -n s3be
-e S3_PROVIDER="minio"
-e S3_ACCESS_KEY="Put ACCESS_KEY_HERE"
-e S3_SECRET_KEY="Put SECRET_KEY_HERE"
-e MINIO_ENDPOINT="Put HTTP or HTTPS address to your minio server (by default it is 9000 port)."
-e EXPOSER_ALLOWED_BUCKETS="Put here names of buckets you want to expose separated by semicoln"
mzylowski/s3-bucket-exposer:beta
So for example:
docker run -d --name=s3be \
-e S3_PROVIDER="minio" \
-e S3_ACCESS_KEY="admin" \
-e S3_SECRET_KEY="password" \
-e MINIO_ENDPOINT="https://some.domain:9000" \
-e EXPOSER_ALLOWED_BUCKETS="downloads,sheets" \
mzylowski/s3-bucket-exposer:beta
Let's create a bucket:
- Log into AWS console
- Navigate to S3 service and click 'Create Bucket'
- Specify bucket name and region
- Choose ownership (ACLs disable is recommended)
- Ensure 'Block all public access' is checked.
- Set rest of the options for Your needs and click 'Create Bucket'
Now it is time to create user to have access to our S3 bucket:
- Navigate to IAM service (https://console.aws.amazon.com/iam/home)
- Go to
users
inaccess managment
and create a new user - Specify username and set access credentials type to "Access key - Programmatic access"
- On next page (set permissions) you can click to "Attach existing policies directly" and choose "AmazonS3ReadOnlyAccess":
- Click next to 'tags' and next to 'review'
- After user creation You will see ACCESS and SECRET keys needed by S3BE to connect.
Let's start S3BE:
docker run -d --name=s3be \
-e S3_PROVIDER="aws" \
-e S3_ACCESS_KEY="admin" \
-e S3_SECRET_KEY="password" \
-e EXPOSER_ALLOWED_BUCKETS="downloads,sheets" \
mzylowski/s3-bucket-exposer:beta