MinIO Storage
S3-compatible object storage
S3-compatible object storage server for local development using MinIO latest version.
Docker Configuration
Image: minio/minio:latest
Ports:
- 9000:9000 # API
- 8900:8900 # Console
Volume: damp-minio:/dataDAMP identifies the service using Docker labels. Container name is auto-generated by Docker.
Port Configuration
Default ports:
- API:
9000(host) →9000(container) - Console:
8900(host) →8900(container)
If either port is occupied on the host machine, DAMP automatically uses the next available port. Check the DAMP interface to see the actual ports assigned.
Environment Variables
| Variable | Value | Description |
|---|---|---|
MINIO_ROOT_USER | root | Admin username |
MINIO_ROOT_PASSWORD | password | Admin password |
Connection Information
From Host Machine (Windows)
Console (Web UI):
http://localhost:8900Login:
- Username:
root - Password:
password
API Endpoint:
http://localhost:9000From Project Containers
Use the container name or ID shown in the DAMP interface.
API Endpoint:
http://[container-name]:9000Replace [container-name] with the actual container name displayed in DAMP.
Laravel S3 Configuration
Install Flysystem
composer require league/flysystem-aws-s3-v3Configure .env
AWS_ACCESS_KEY_ID=root
AWS_SECRET_ACCESS_KEY=password
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=my-bucket
AWS_ENDPOINT=http://[container-name]:9000
AWS_USE_PATH_STYLE_ENDPOINT=trueReplace [container-name] with the actual container name displayed in DAMP.
Create Bucket
- Open
http://localhost:8900 - Login with credentials above
- Click "Create Bucket"
- Name it
my-bucket
Usage
use Illuminate\Support\Facades\Storage;
// Store file
Storage::disk('s3')->put('file.txt', 'Contents');
// Retrieve file
$contents = Storage::disk('s3')->get('file.txt');
// Get URL
$url = Storage::disk('s3')->url('file.txt');Use Cases
- File uploads and user-generated content
- Image storage for product photos and avatars
- Document storage for PDFs and reports
- Database backups and archives
- Media files including videos and audio
MinIO Client (mc)
Install Client
# In devcontainer or host
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mcConfigure
mc alias set local http://localhost:9000 root passwordCommon Commands
# List buckets
mc ls local
# Create bucket
mc mb local/my-bucket
# Upload file
mc cp file.txt local/my-bucket/
# Download file
mc cp local/my-bucket/file.txt ./Any S3 client or SDK works with MinIO.
Data Persistence
All buckets and files are stored in the damp-minio Docker volume. Removing the service preserves your data.