initial
This commit is contained in:
commit
9629684d2b
3 changed files with 73 additions and 0 deletions
37
docker-compose.yml
Normal file
37
docker-compose.yml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: mtv2-media-storage
|
||||
ports:
|
||||
- "9100:9000"
|
||||
- "9101:9001"
|
||||
volumes:
|
||||
- ./minio-data:/data
|
||||
- ./policies:/policies:ro
|
||||
environment:
|
||||
MINIO_ROOT_USER: media-root
|
||||
MINIO_ROOT_PASSWORD: 8-digit-root-pass
|
||||
command: server /data --console-address ":9001"
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
|
||||
minio-init:
|
||||
image: minio/mc:latest
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command: ["/init-minio.sh"]
|
||||
depends_on:
|
||||
minio:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
MINIO_ROOT_USER: media-root
|
||||
MINIO_ROOT_PASSWORD: 8-digit-root-pass
|
||||
MERCH_API_USER: media-storage
|
||||
MERCH_API_PASSWORD: 8-digit-user-pass
|
||||
volumes:
|
||||
- ./policies:/policies:ro
|
||||
- ./init-minio.sh:/init-minio.sh:ro
|
||||
17
init-minio.sh
Executable file
17
init-minio.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
until mc alias set myminio http://minio:9000 "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"; do
|
||||
echo "Wait for start MinIO..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
echo "MinIO available. Setting up userc and policies..."
|
||||
|
||||
mc admin policy create myminio api-policy /policies/api-policy.json
|
||||
mc admin user add myminio "$MERCH_API_USER" "$MERCH_API_PASSWORD"
|
||||
|
||||
mc admin policy attach myminio api-policy --user="$MERCH_API_USER"
|
||||
|
||||
echo "MinIO init done."
|
||||
19
policies/api-policy.json
Normal file
19
policies/api-policy.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"s3:GetObject",
|
||||
"s3:PutObject",
|
||||
"s3:DeleteObject",
|
||||
"s3:ListBucket"
|
||||
],
|
||||
"Resource": [
|
||||
"arn:aws:s3:::user-merch-images",
|
||||
"arn:aws:s3:::user-merch-images/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue