Настройка 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
Все получилось, теперь можно отправлять все необходимые нам папки целиком: