Skip to content

Instantly share code, notes, and snippets.

@shved
Created December 14, 2022 16:42
Show Gist options
  • Save shved/da9681d49071d7c413f52684ad431060 to your computer and use it in GitHub Desktop.
Save shved/da9681d49071d7c413f52684ad431060 to your computer and use it in GitHub Desktop.
Minio local docker compose developer setup for aws s3 replacement 2023
version: '3.7'
services:
minio:
image: minio/minio
ports:
- "9000:9000"
volumes:
- data:/data
environment:
MINIO_REGION: us-east-1
command: minio server /minio/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
# Image to setup minio bucket and test user.
setupminio:
image: minio/mc
depends_on:
- minio
entrypoint: >
sh -c "
mc alias set local http://minio:9000 minioadmin minioadmin &&
mc rm --dangerous --force local &&
mc mb --ignore-existing local/mybucketname &&
mc admin user add local testuser testuser &&
mc admin policy set local readwrite user=testuser &&
exit 0;
"
# Lets say it is your application that uses minio as an S3 instance.
yourapp:
build: .
depends_on:
- setupminio
ports:
- "8080:8080"
environment:
YOUR_APP_S3_ENDPOINT: http://minio:9000
YOUR_APP_S3_BUCKET: mybucketname
AWS_DEFAULT_REGION: us-east-1
AWS_ACCESS_KEY_ID: testuser
AWS_SECRET_ACCESS_KEY: testuser
volumes:
data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment