MinIO and S3-Compatible Storage in Laravel

A practical series about local S3-compatible storage: MinIO in Laradock, Laravel Filesystem integration, private files, temporary URLs, direct uploads, and common problems.

MinIO and S3-Compatible Storage in Laravel
minio-in-laradock-local-s3-compatible-storage-for-laravel-cover.png
Laradock

MinIO in Laradock: Local S3-Compatible Storage for Laravel

I start this MinIO series with the foundation: why a local Laravel project benefits from S3-compatible storage, what Laradock already provides, and why this is more convenient than testing file workflows directly against AWS.

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

Why localhost Does Not Work Between Docker Containers

localhost:9001 may open MinIO from the browser, but localhost inside the Laravel container points back to the application container itself. I explain why and how containers reach each other through the Docker network.

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

Connect MinIO to Laravel Through the Standard S3 Disk

MinIO does not require a separate filesystem implementation in Laravel. Because it exposes an S3-compatible API, the application can keep using the standard s3 disk while the local environment provides a different endpoint, bucket, and credentials.

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

Use MinIO Locally Without Changing Production Laravel Configuration

Local MinIO should not require a separate filesystems.php or environment-specific branches in application code. I keep one Laravel S3 configuration and vary only the endpoint, credentials, bucket, and addressing mode through environment variables.

110
temporary-urls-for-private-files-in-laravel-cover.png
Laradock

Temporary URLs for Private Files in Laravel

A private file does not need a permanent public URL. Laravel can generate a short-lived signed URL only when the user is actually allowed to access the file.

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

Direct S3 Uploads: Why Large Files Do Not Need to Pass Through PHP

PHP does not need to proxy every byte of a large upload. The application can authorize the operation, choose the object path, and issue short-lived upload permission while the browser sends the file directly to S3-compatible storage.

93