MinIO і S3-сумісне сховище в Laravel

Практична серія про локальне S3-сумісне сховище: MinIO в Laradock, підключення Laravel Filesystem, приватні файли, тимчасові посилання, пряме завантаження і типові проблеми.

MinIO і S3-сумісне сховище в Laravel
minio-in-laradock-local-s3-compatible-storage-for-laravel-cover.png
Laradock

MinIO у Laradock: локальне S3-сумісне сховище для Laravel

Починаю серію про MinIO з базового кроку: навіщо локальному Laravel-проєкту S3-сумісне сховище, що вже дає Laradock і чому це зручніше, ніж перевіряти роботу з файлами одразу на AWS.

126
why-localhost-does-not-work-between-docker-containers-cover.png
Laradock

Чому localhost не працює між контейнерами Docker

У браузері localhost:9001 може відкривати MinIO, але той самий localhost усередині Laravel-контейнера вже означає сам контейнер застосунку. Розбираю, чому так відбувається і як контейнери знаходять один одного через мережу Docker.

157
connect-minio-to-laravel-through-the-standard-s3-disk-cover.png
Laradock

Як підключити MinIO до Laravel через стандартний S3 disk

MinIO не потребує окремої файлової реалізації в Laravel. Якщо сховище підтримує S3-сумісний API, застосунок може залишитися на стандартному disk s3, а локальне середовище лише задає іншу адресу, бакет і облікові дані.

121
use-minio-locally-without-changing-production-laravel-configuration-cover.png
Laradock

Як використовувати MinIO локально, не змінюючи production-конфігурацію Laravel

Локальний MinIO не повинен вимагати окремої версії filesystems.php або умов у коді. Я залишаю одну S3-конфігурацію Laravel для всіх середовищ, а адресу сховища, облікові дані, бакет і режим адресації задаю через змінні середовища.

110
private-s3-storage-from-the-start-do-not-make-files-public-cover.png
Laradock

Приватне S3-сховище з самого початку: не робити файли публічними лише для зручності

Якщо файл у production має бути приватним, локально я теж перевіряю приватний сценарій. Відкритий бакет може спростити розробку, але водночас приховати помилки в контролі доступу, тимчасових посиланнях і самій моделі роботи з файлами.

102
direct-s3-uploads-large-files-do-not-need-to-pass-through-php-cover.png
Laradock

Пряме завантаження у S3-сховище: чому великий файл не варто пропускати через PHP

Для великого файла PHP не обов’язково має бути посередником у передаванні кожного байта. Застосунок може перевірити право, визначити шлях і видати короткоживучий дозвіл, а браузер завантажить файл безпосередньо у S3-сумісне сховище.

94