Local MinIO Setup
Run an S3-compatible storage server locally with Docker Compose.
The Compose file includes MinIO and a bucket initialization service:
docker compose up -d minio minio-setupThe API is at http://localhost:9000; the console is at http://localhost:9001. The supplied local username and password are both minioadmin.
For an app running on the host, use:
MOCK_SERVICES=false
STORAGE_PROVIDER=s3
S3_ENDPOINT=http://localhost:9000
S3_ACCESS_KEY_ID=minioadmin
S3_SECRET_ACCESS_KEY=minioadmin
NEXT_PUBLIC_AVATARS_BUCKET_NAME=vibekitA complete environment endpoint/key pair takes precedence; otherwise a saved S3 integration can supply credentials. Check the admin setup state if the app signs URLs for another endpoint. Disabling MOCK_SERVICES also affects payments, mail and AI, so configure their local modes separately.
The initializer creates vibekit and enables anonymous downloads for that bucket. This is a local convenience, not a private production bucket policy. Use private buckets for private feedback attachments and a browser-reachable endpoint with suitable CORS rules for real direct uploads. Do not expose the supplied credentials or public-download setup on the internet.
See Handling Uploads.