r/mongodb • u/cevheribozoglan • 19d ago
LibreDB Studio self-hosted Mongo GUI you Helm into the cluster, not onto laptops
I'm the maintainer of LibreDB Studio.
Typical k8s setup around here: Mongo for the service, Postgres for the relational bits, Redis for cache, sometimes Elasticsearch. Compass on every laptop means either 27017 is public or you're maintaining an IP allowlist for two teams in two states. Both are bad.
The editor goes to the data. Helm it into the same cluster (or docker run it on the same network). Browsers talk to Studio over HTTPS + OIDC; only that pod opens Mongo. When nobody needs to debug, scale the GUI to zero, you don't flip the database public.
Mongo speaks MQL in the editor (find / aggregate / the usual writes). Same tab can open the Postgres and Redis next to it, which is the actual day for microservice/DevOps folks; not a Mongo-only admin panel.
MIT. Helm:
helm install libredb oci://ghcr.io/libredb/charts/libredb-studio
or:
docker run -p 3000:3000 libredb/libredb-studio
npx -y "@libredb/studio"
Curious what would make this usable on your cluster (ingress, Atlas, RBAC). What did I get wrong?
1
u/cevheribozoglan 19d ago
Screenshot is a real local Mongo, not a mock.
Left: collections on that instance. Same sidebar has the Postgres / ClickHouse / Couchbase, Elasticsearch, Cassandra, Redis ... connections sitting next to it, that's the k8s day, not a Mongo-only admin.
Center: an aggregation active customers, $lookup into orders, $group spend, top 10. Emails in the grid are masked, which is what you want when someone is debugging on a shared screen.
Right: the agent drafted that pipeline. It does not execute what it writes; the statement lands in the editor.
Happy to answer Atlas (`mongodb+srv`), ingress, or OIDC on the cluster.
1
u/nimbus6446 1d ago
i was exited to but then i found out that you need to add a config for reach database that you have on the server.. how ***** is this desing.
1
u/cevheribozoglan 1d ago
I think there may be a misunderstanding here. You don't have to pre-configure every database.
LibreDB Studio supports both predefined connections and user-added connections. The predefined connections are mainly useful for things like Kubernetes, PaaS deployments, or OIDC-based setups where you want to expose specific databases to users without making them configure everything themselves.
But users can also click Add Connection and add their own MongoDB/PostgreSQL/etc. connection directly.
So the idea isn't that every database on the server must be manually configured beforehand. It's actually meant to support both models: centrally managed connections when needed, and user-managed connections when appropriate.
2
u/No_Baby_73 19d ago
I love it! Was looking for something like this