Skip to main content

Local Development

Use MinIO as a local S3-compatible backend.

Docker Compose

# docker-compose.yml
services:
minio:
image: minio/minio:latest
restart: always
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${S3_ACCESS_KEY_ID:-admin}
MINIO_ROOT_PASSWORD: ${S3_SECRET_ACCESS_KEY:-secret_access_key}
volumes:
- minio-data:/data
ports:
- '9000:9000' # S3 API
- '9001:9001' # Web Console
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 5

volumes:
minio-data:

Environment

Point the storage package at MinIO:

S3_ACCESS_KEY_ID=admin
S3_SECRET_ACCESS_KEY=secret_access_key
PRIVATE_S3_ENDPOINT=http://localhost:9000
PUBLIC_S3_ENDPOINT=http://localhost:9000

Usage

# Start MinIO
docker-compose up -d

# Web console
open http://localhost:9001

The console lets you browse buckets, inspect files, and manage access policies. Credentials default to admin / secret_access_key.