Damp

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:/data

DAMP 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

VariableValueDescription
MINIO_ROOT_USERrootAdmin username
MINIO_ROOT_PASSWORDpasswordAdmin password

Connection Information

From Host Machine (Windows)

Console (Web UI):

http://localhost:8900

Login:

  • Username: root
  • Password: password

API Endpoint:

http://localhost:9000

From Project Containers

Use the container name or ID shown in the DAMP interface.

API Endpoint:

http://[container-name]:9000

Replace [container-name] with the actual container name displayed in DAMP.

Laravel S3 Configuration

Install Flysystem

composer require league/flysystem-aws-s3-v3

Configure .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=true

Replace [container-name] with the actual container name displayed in DAMP.

Create Bucket

  1. Open http://localhost:8900
  2. Login with credentials above
  3. Click "Create Bucket"
  4. 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 mc

Configure

mc alias set local http://localhost:9000 root password

Common 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.

On this page