MinIO role
Deploy MinIO, a high-performance S3-compatible object storage server for storing unstructured data.
Usage
Configure MinIO settings in your inventory:
1 2 3 4 5 6 7 8 9 10 11 | |
Include the role in your playbook:
1 2 3 | |
The role provides these tags:
- minio-install - Deploy MinIO container
- minio-uninstall - Remove MinIO container
Docs
Deploy MinIO to your Docker host:
1 | |
Remove MinIO installation:
1 | |
Configuration Details
The role deploys MinIO with:
- Official Image: quay.io/minio/minio:latest
- S3 API Port: 9000 (S3-compatible API)
- Console Port: 9090 (Web management console)
- Persistent Storage: Host directory mounted to /data
- Network: Configurable Docker network
- Restart Policy: unless-stopped
Accessing MinIO
After deployment:
- S3 API: http://host:9000
- Web Console: http://host:9090
Login credentials:
- Username: Configured via minio_root_user (default: admin)
- Password: Configured via minio_root_password
Storage
MinIO data is stored in the host directory specified by minio_data_volume:
1 | |
This directory will contain: - Buckets - Objects - Metadata - Configuration
S3 Compatibility
MinIO is fully compatible with AWS S3 API. Configure applications to use MinIO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Web Console Features
The MinIO Console (port 9090) provides: - Bucket management (create, delete, configure) - Object browser (upload, download, preview) - User and access key management - Bucket policies and lifecycle rules - Monitoring and metrics - Server configuration
Use Cases
MinIO is ideal for: - Backup storage: Store application backups - Media storage: Images, videos, documents - Data lake: Unstructured data storage - CI/CD artifacts: Build outputs and dependencies - Application storage: Object storage for applications - Development: Local S3-compatible storage for testing
Creating Buckets
Via web console (port 9090): 1. Login with root credentials 2. Click Buckets → Create Bucket 3. Enter bucket name 4. Configure access policy (public/private)
Via MinIO Client (mc):
1 2 3 | |
Access Keys
Create access keys for applications: 1. Open web console 2. Navigate to Identity → Users 3. Create new user or service account 4. Generate access key and secret key 5. Use in application configuration
Security
- Change default credentials immediately
- Use strong passwords (minimum 8 characters)
- Create service accounts with limited permissions
- Configure bucket policies for access control
- Consider using reverse proxy with TLS
- Restrict network access to trusted sources
Reverse Proxy Integration
Configure Caddy/Traefik to provide HTTPS:
1 2 3 4 5 6 7 8 | |
High Availability
For production, consider: - Multiple MinIO servers (distributed mode) - Erasure coding for data protection - Load balancing across servers - Persistent storage with redundancy
Monitoring
Check MinIO status:
1 2 | |
