Add docker compose with MinIO and Redis

This commit is contained in:
IgorVolochay
2025-12-30 00:01:17 +03:00
parent 1a58387666
commit e4dfbc7ab5
3 changed files with 36 additions and 44 deletions
-44
View File
@@ -1,44 +0,0 @@
import asyncio
from aiobotocore.session import get_session
AWS_ACCESS_KEY_ID = "some_username"
AWS_SECRET_ACCESS_KEY = "some_password"
ENDPOINT_URL = ""
async def main():
session = get_session()
# Создаем S3 клиент
async with session.create_client(
"s3",
region_name="us-east-1",
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
aws_access_key_id=AWS_ACCESS_KEY_ID,
endpoint_url=ENDPOINT_URL, # важно для MinIO
) as s3:
bucket = "mybucket"
key = "example.txt"
# 1. Создаем bucket
print("Создаю bucket…")
await s3.create_bucket(Bucket=bucket)
# 2. Загружаем файл (put_object)
print("Загружаю файл…")
await s3.put_object(
Bucket=bucket,
Key=key,
Body=b"Hello from aiobotocore + MinIO!"
)
# 3. Скачиваем файл
print("Скачиваю файл…")
obj = await s3.get_object(Bucket=bucket, Key=key)
data = await obj["Body"].read()
print("Содержимое:", data.decode())
asyncio.run(main())
View File
+36
View File
@@ -0,0 +1,36 @@
version: "3.9"
services:
minio:
image: minio/minio:latest
container_name: minio-server
ports:
- "5356:9000"
- "5357:9001"
environment:
MINIO_ROOT_USER: ${S3_ACCESS_KEY_ID}
MINIO_ROOT_PASSWORD: ${S3_SECRET_ACCESS_KEY}
volumes:
- /home/volochay/coldstorage/minio:/data
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
interval: 5s
timeout: 3s
retries: 5
minio-init:
image: minio/mc:latest
depends_on:
minio:
condition: service_healthy
environment:
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID}
S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY}
BUCKET_NAME: ${BUCKET_NAME}
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 ${S3_ACCESS_KEY_ID} ${S3_SECRET_ACCESS_KEY} &&
mc mb -p local/${BUCKET_NAME} || true &&
mc ilm rule add --expire-days 1 local/${BUCKET_NAME}
"