A lightweight web-based administration tool for MinIO instances, built with Go and Vue.js.
Caution
AI-Generated Code Notice: This project was primarily developed using AI assistance (Claude Code). While the codebase undergoes continuous testing and validation, it may contain subtle bugs or security issues that require human review.
Production Use: Exercise caution when deploying to production environments. Thorough testing and security audits are recommended before production deployment.
Human Review Status: This project is actively maintained with human oversight, but complete human review of all AI-generated code is ongoing. Please report any issues, security concerns, or unexpected behavior.
MinIO Lite Admin provides essential management operations for MinIO instances through a user-friendly web interface. Following MinIO's decision to remove most management features from the community edition, this tool fills the gap by providing access to commonly used administrative functions.
- π₯οΈ Web UI Dashboard - Modern Vue.js interface with dark mode support
- πΎ Disk Usage Monitoring - Real-time disk status and usage statistics
- π Access Key Management - Create, list, update, and delete access keys with secure generation
- π Server Information - View MinIO server status and configuration
- π Secure Key Generation - Cryptographically secure access key generation with special characters
Run MinIO Lite Admin as a standalone container:
docker run -p 8080:8080 \
-e MINIO_URL=http://your-minio-server:9000 \
-e MINIO_ROOT_USER=your-admin-user \
-e MINIO_ROOT_PASSWORD=your-admin-password \
ghcr.io/elct9620/minio-lite-admin:latestCreate a docker-compose.yml file to run alongside your MinIO instance:
services:
# Your existing MinIO service
minio:
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
# MinIO Lite Admin (side-car)
minio-admin:
image: ghcr.io/elct9620/minio-lite-admin:latest
ports:
- "8080:8080"
environment:
- MINIO_URL=http://minio:9000
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
depends_on:
- minio
volumes:
minio_data:Then run:
docker compose up -dAccess the admin interface at: http://localhost:8080
Configure MinIO Lite Admin using environment variables:
| Variable | Description | Example |
|---|---|---|
MINIO_URL |
MinIO server URL | http://minio:9000 |
MINIO_ROOT_USER |
MinIO admin username | minioadmin |
MINIO_ROOT_PASSWORD |
MinIO admin password | minioadmin |
| Variable | Default | Description |
|---|---|---|
MINIO_ADMIN_ADDR |
:8080 |
Server bind address |
MINIO_ADMIN_LOG_LEVEL |
info |
Log level (trace, debug, info, warn, error) |
MINIO_ADMIN_LOG_PRETTY |
true |
Pretty print logs |
| Variable | Default | Description |
|---|---|---|
MINIO_ADMIN_DEV |
false |
Enable development mode |
MINIO_ADMIN_VITE_URL |
http://localhost:5173 |
Vite dev server URL |
- Cryptographically Secure: Uses
crypto.getRandomValues()for secure random generation - Enhanced Character Set: Supports special characters for higher entropy
- AWS Compatible: Follows AWS IAM access key format with
AKIAprefix - MinIO Compatible: All generated keys work seamlessly with MinIO backend
- Always use strong MinIO admin credentials
- Run behind HTTPS in production
- Restrict network access to admin interface
- Regularly rotate access keys
We welcome contributions! Here's how to get started:
- Fork the repository
- Make your changes
- Test your changes
- Submit a pull request
AI tools are welcome! We encourage using Claude, GitHub Copilot, ChatGPT, etc. to help with development.
If you use AI: Add Co-Authored-By: AI-Assistant <[email protected]> to your commit messages.
- Explain your changes: Describe what you changed and why in your PR
- Test your work: Make sure your changes work as expected
- Review AI code: If using AI, personally review and understand all generated code
- Start small: Begin with bug fixes or small features before major changes
See CLAUDE.md for technical setup and architecture details.
All PRs get both human and automated review. AI-assisted contributions may receive additional scrutiny for security and correctness.
For detailed development setup and technical guidelines, see CLAUDE.md.
# Clone repository
git clone <repository-url>
cd minio-lite-admin
# Start development environment
docker compose up --watchThis starts:
- MinIO server at http://localhost:9000
- Vite dev server at http://localhost:5173
- Go backend at http://localhost:8080
- Backend: Go 1.24+
- MinIO Admin SDK (
github.com/minio/madmin-go) - Chi HTTP router with structured logging
- Vite integration for seamless asset serving
- MinIO Admin SDK (
- Frontend: Vue.js 3 + TypeScript
- Composition API with
<script setup> - TailwindCSS for styling with dark mode
- Vite for fast development and optimized builds
- Composition API with
This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3) - see the LICENSE file for details.
This project uses github.com/minio/madmin-go which is licensed under AGPLv3. As a derivative work, this project must also be licensed under AGPLv3 to comply with the license terms.
- π Documentation: CLAUDE.md
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- MinIO team for the excellent
madmin-goSDK - Vue.js and TailwindCSS communities for amazing tools
- All contributors who help improve this project