Skip to content

Creating a MinIO Bucket with No Expiration and Public Access (Insecure Mode)

This guide explains how to create a MinIO bucket that:

  • Never expires (no lifecycle rules).
  • Requires no authentication (public access).
  • Uses the --insecure flag for all commands (bypasses SSL verification).

1. Prerequisites


2. Add a MinIO Alias (Insecure)

mc alias set local http://localhost:9000 minioadmin minioadmin --insecure
  • local → alias name (can be anything).
  • Replace http://localhost:9000 with your server URL.
  • Replace minioadmin minioadmin with your access key and secret key.

3. Create the Bucket

mc mb local/mybucket --insecure

4. Disable Expiration

Remove any existing lifecycle rules to ensure objects never expire:

mc ilm rm local/mybucket --insecure

5. Set Public Access (No Authentication)

Allow anonymous read access:

mc anonymous set public local/mybucket --insecure

For public read and write (less secure):

mc anonymous set upload local/mybucket --insecure

6. Reset Permissions to Private (If Needed)

If you want to revert the bucket so only authenticated users can access it:

mc anonymous set private local/mybucket --insecure

7. Test Public Access

Upload a test file:

mc cp myfile.txt local/mybucket --insecure

Access it in a browser:

http://<minio-server>:9000/mybucket/myfile.txt

8. Summary

  • --insecure bypasses SSL checks.
  • No expiration is ensured by removing lifecycle rules.
  • Public access is set with mc anonymous set public.
  • Private mode can be restored with mc anonymous set private.

References: