briqbriq
Dashboard

cookbook / minio

MinIO (S3)

S3-compatible object storage with a web console.

Run it

briq_run({
  recipe: "minio",
  params: {
    "bucket": "app",
    "size": "small"
  },
  wait: true
})

Parameters

NameTypeOptionsDefault
bucketstring"app"
sizeenumnano, small, medium, large"small"

Outputs

Returned by briq_run once the stack is healthy. Hosts resolve inside your team network; secrets are generated per run.

S3_ENDPOINT
http://minio.<stack>.internal:9000
S3_ACCESS_KEY_ID
minio
S3_SECRET_ACCESS_KEY
<MINIO_ROOT_PASSWORD>
S3_BUCKET
app
S3_REGION
us-east-1
MINIO_CONSOLE
http://minio.<stack>.internal:9001

What it runs

BriqImagePortsSizeVolume
minioquay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z9000, 9001small20 GB at /data

When to use it

  • Your code uploads to S3 and you want a real bucket to test against without AWS credentials.
  • You need presigned URLs, multipart uploads or bucket policies to behave like S3, not like a mock.

The bucket parameter is created at boot (default app). Outputs follow the AWS SDK naming so most clients need only S3_ENDPOINT, S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY.

Tips

  • Path style. MinIO on a plain host needs forcePathStyle: true (AWS SDK v3) or s3ForcePathStyle (v2). Virtual-hosted buckets will not resolve.
  • Region is a formality. Use us-east-1 as in the outputs; MinIO accepts it for every bucket.
  • The console at port 9001 is handy for a human looking over the agent's shoulder: briq_expose it with mode: "token" and open the URL.
  • Presigned URLs embed the internal host. If a browser must use them, expose port 9000 and regenerate the URLs with the public endpoint.