MongoDB management made elegant, fast, and intuitive.
mongoDhārā is a blazing-fast web UI for MongoDB — built with Svelte & FastAPI.
Manage databases, collections, documents, and GridFS visually with zero overhead.
mongoDhārā bridges the gap between raw MongoDB power and intuitive usability — without compromise.
| Feature | mongoDhārā | Typical Web-Based Tools (e.g., Mongo Express) |
|---|---|---|
| Performance | ✅ Near-native MongoDB driver with optimized async I/O | ⚠️ Varies; often less efficient |
| GridFS Support | ✅ Full streaming read/write with chunking. | ⚠️ Limited to small file uploads |
| Query Builder | ✅ Context-aware autocomplete for operators, fields, and values | ⚠️ Basic JSON/text input |
| Enterprise Security | ✅ AES-GCM encrypted resource IDs and granular RBAC | ⚠️ Minimal access control, exposed ObjectIDs |
| Authentication | ✅ OAuth2/OIDC proxy integration and custom providers | ⚠️ Basic HTTP authentication, DIY OAuth |
| Audit Logging | ✅ Built-in audit trails with TTL-based retention | ❌ Rarely available or externalized |
| Kubernetes Integration | ✅ Production-ready Helm charts with autoscaling (HPA) | ⚠️ Basic container images, manual setup |
| User Interface | ✅ Modern Svelte-based UI, responsive with dark mode | ⚠️ Often legacy or inconsistent |
The easiest way to deploy mongoDhārā is using the included Helm chart:
# Clone the repository
git clone <your-repo-url>
cd mongodhara
# Deploy with custom MongoDB URI and images
helm install mongodhara ./helm-chart \
--set backend.image.repository=mongodhara/api \
--set backend.image.tag=1.0.0 \
--set frontend.image.repository=mongodhara/web \
--set frontend.image.tag=1.0.0 \
--set backend.env[0].value="mongodb://your-mongo-host:27017/yourdb"
💡 For production deployments and advanced configuration options, see the Helm Chart README.
Build and push Docker images:
# Backend
docker build -f dockerfiles/backend.Dockerfile -t your-registry.com/mongodhara/api:1.0.0 .
docker push your-registry.com/mongodhara/api:1.0.0
# Frontend
docker build -f dockerfiles/frontend.Dockerfile -t your-registry.com/mongodhara/web:1.0.0 .
docker push your-registry.com/mongodhara/web:1.0.0
After publishing (triggered by pushes to release/** branches), you can use the pre-built artifacts from GitHub Container Registry (GHCR).
Install the published Helm chart directly from GHCR:
# Install the latest version
helm install my-mongodhara oci://ghcr.io/sensoumya/mongodhara
# Or install a specific version
helm install my-mongodhara oci://ghcr.io/sensoumya/mongodhara --version <chart-version>
📋 View Packages: GitHub Packages
Pull the published Docker images:
# Backend API
docker pull ghcr.io/sensoumya/mongodhara/api:<branch>-<short-sha>
# Frontend Web UI
docker pull ghcr.io/sensoumya/mongodhara/web:<branch>-<short-sha>
📋 View Images: API Package | Web Package
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python app/main.py # Development server with auto-reload
cd frontend
npm install
npm run dev # Opens at http://localhost:5173
Detailed configuration guides:
ENABLE_AUTHZ=true and configure user permissionsENABLE_OPAQUE_IDS=true to prevent resource enumerationglobal.features.auditLogging.enabled=true for compliance trackingBuilt-in protections: RBAC with per-database permissions, AES-GCM encrypted resource IDs, system database write blocks (admin, local, config, mongodhara), TTL-based audit retention (365 days)
Contributions welcome! Please:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')This project is not affiliated with, endorsed by, or sponsored by MongoDB, Inc.
MongoDB® is a registered trademark of MongoDB, Inc. All product names, logos, and brands are property of their respective owners. Use of these names, trademarks, and brands does not imply endorsement.
MIT License - see LICENSE for details.
Made with ❤️ by the Soumya Sen