Настройка Minio как Gateway к S3

При попытке отправить файлы в s3-хранилище с помощью awscli я без конца получал ошибки вида argument of type 'NoneType' is not iterable

Я пробовал по-разному изворачиваться, но все сводилось к тому, что утилита плевалась ошибками и часть файлов на отрез отказывалась грузить.

Тогда я решил использовать Minio как прокси к своему s3-хранилищу

Установка minio

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin
sudo mkdir /data
minio server /data --address ":9000" --console-address ":9001"

В фоне запускать я его не вижу смысла ввиду того, что он используется как прокси и если зайти в UI, то там мы не увидим созданных бакетов.

Настройка minio

Настраиваем переменные окружения для доступа к нашему S3:

export MINIO_ACCESS_KEY=******
export MINIO_SECRET_KEY=******
export MINIO_URL=https://s3.<host>/ - endpoint s3

Проверяем, что экспортировались успешно:

prinenv | grep MINIO
MINIO_URL=https://s3.<host>/
MINIO_SECRET_KEY=******
MINIO_ACCESS_KEY=******

Настраиваем minio alias:

root@hhblipions:~# mc alias set myminio $MINIO_URL $MINIO_ACCESS_KEY $MINIO_SECRET_KEY

Проверяем, что подключение прошло успешно, с помощью проверки существующих бакетов:

mc ls myminio
[2025-04-30 14:24:17 MSK]     0B 6bf53ec73165-persuasive-trish/

Отправление файлов

Для теста отправлю одну папку, файлы из которой ранее падали с ошибкой:

mc cp -r "SkillBox - Профессия Frontend-разработчик 
PRO_test/" myminio/6bf53ec73165-persuasive-trish/
...� 09.mp4: 241.98 MiB / 1.48 GiB ┃▓▓▓█░░░░░░░░░░░░░░░░░░┃ 23.11 MiB/s

Все получилось, теперь можно отправлять все необходимые нам папки целиком:
Pasted image 20250501143126.png|400