diff --git a/app/minio_test.py b/app/minio_test.py deleted file mode 100644 index 2292202..0000000 --- a/app/minio_test.py +++ /dev/null @@ -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()) diff --git a/docker/.env-example b/docker/.env-example new file mode 100644 index 0000000..e69de29 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..9ffcbca --- /dev/null +++ b/docker/docker-compose.yml @@ -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} + "