A self-hosted MinIO admin dashboard — manage buckets, files, users and IAM policies directly in the browser. Built with Flask and the MinIO Python SDK, JWT-authenticated, single Docker image, no CLI required.
A full-stack MinIO admin dashboard — manage buckets, files, users and permissions entirely from the browser, no CLI required.
The MinIO ecosystem lacks a lightweight, self-hosted admin UI that covers the full management surface — bucket operations, file browsing, user administration, and IAM policies — without relying on the mc CLI or the heavy official MinIO Console. minio-dash fills that gap.
The project is a single-container Flask application backed by the MinIO Python SDK and direct admin REST API calls with AWS Signature V4 signing. The entire frontend is a single ui.html file — no build step, no bundler, no external dependencies at runtime.





JWT session layer
Login is performed by verifying the provided MinIO credentials against a live list_buckets() call. On success, a signed JWT (HS256, 8h TTL) is issued and stored in the browser. Credentials are held in a server-side memory cache for the session duration and never written to disk.
Admin privilege auto-detection On login, the server probes the MinIO admin API to determine whether the authenticated user holds admin privileges. The UI and endpoint access are adjusted accordingly — non-admin users get a scoped read/write interface, admins get the full management surface.
Permission matrix A dedicated view renders a visual table mapping every user against every bucket, showing their effective read/write access level at a glance. Access can be edited inline — the backend translates changes into auto-generated IAM policies applied directly via the admin API.
Zero-dependency frontend
The entire UI is a single ui.html file with no build pipeline. Translations for English and Polish are loaded from locales/ JSON files, making the i18n surface easy to extend.
Docker-first deployment
A multi-arch image (amd64 / arm64) is published to the registry. The full stack runs with a single docker compose up -d. A reverse proxy snippet for nginx is included for production deployments.
| Layer | Technology |
|---|---|
| Backend | Python, Flask, Gunicorn |
| Storage SDK | MinIO Python SDK, AWS Signature V4 |
| Auth | JWT HS256 |
| Frontend | Vanilla HTML/CSS/JS (single file) |
| i18n | JSON locale files (EN / PL) |
| Infrastructure | Docker, Docker Compose |
MIT License · Marceli Racis
