Metabase Containerο
The Metabase container provides analytics and visualization dashboards for OMERO and BIOMERO data.
Why Metabase?ο
Metabase provides a powerful analytics solution that integrates seamlessly with our OMERO and BIOMERO infrastructure:
Unified Data Visibility: Direct connections to both OMERO and BIOMERO databases provide comprehensive analytics across our entire data ecosystem
Embedded in Workflow: Dashboards integrate directly into OMERO.web, keeping analytics accessible within usersβ existing workflows
Real-time Insights: Visual exploration of data and automated import metrics without leaving the platform
Customizable Views: Tailored visualizations specific to BIOMERO that adapt to user context
Parameter-driven: Dashboards dynamically respond to user identity and selections, providing personalized analytics
Low-code Development: Build and modify sophisticated visualizations through both SQL and visual query builders
But mainly: they provide much-needed tracking of BIOMERO workflow progress and import progress.
Dashboard Developmentο
Accessο
Direct UI: http://localhost:3000 (container port 3000)
Behind reverse proxy: typically available at
/dashboard
Dashboards in useο
#2
BIOMERO analytics#6
OMERO Automated Data Importer
Both are published and embedded in OMERO.web (via OMERO.biomero) using iFrames.
Embedding in OMERO.webο
Requires a secret key:
Settings > Admin settings > Embedding > Static embedding
Regenerate the static embedding key there if needed.iFrame embedding supports parameters (e.g., user id) that can prefill dashboard filters. These parameters are provided by the OMERO.biomero app based on the logged-in OMERO user.
See and test options via
Sharing > Static embedding
on the dashboard.
Editing dashboardsο
Open a dashboard and click
Edit
to add or modify cards (graphs/tables).Queries can be written in SQL or built via Metabase βQuestionsβ.
Cards can:
Link to other pages or set on-click behavior
Be connected to top-level filters (selectors) so they respond to filter changes (e.g., user/group)
All changes are reflected immediately in embedded iFrames.
Adding a new dashboardο
Create a new dashboard and add your cards (SQL or Questions).
Enable static embedding and note the embed URL/parameters.
Add a new iFrame integration in the relevant front-end plugin (see OMERO.biomero docs for examples).
Align dashboard parameters with what the embedding app sends (e.g., user id).
Browse attached databasesο
In Metabase, you can browse the connected databases (OMERO and BIOMERO Postgres) directly from the UI. This is visible to anyone with access to your Metabase instance.
Managing database connectionsο
Go to
Settings > Admin settings > Databases
to:Add/remove databases
Change host/port/username/authentication
Sync new schemas and re-scan field values
Dashboards run real-time queries against these connections.
User account and passwordο
Change password via
Settings > Account settings > Password
.You can also review your login history there for security audits.
Resetting (admin) password, see https://www.metabase.com/docs/latest/people-and-groups/managing#resetting-the-admin-password
Warning
When deploying NL-BIOMERO in any environment, you must change the default Metabase admin password immediately. The default credentials in NL-BIOMERO are publicly documented in the project repository and should never be used in production environments.
Versioning and migrationο
Metabase stores dashboards, questions, settings, and connections in its application database file.
In this deployment, the file path is configured via
MB_DB_FILE
(e.g.,/metabase-data/metabase.db
). On disk (H2), this may appear asmetabase.db.mv.db
in the mounted volume.This file contains sensitive data (secrets, DB URLs, embedding keys, admin users). Options to propagate changes:
Manually replicate dashboard changes across environments
Distribute the Metabase DB file and then update secrets per environment (DB URLs, embedding keys, admin password)
Consider committing the DB file to source control only if acceptable for your security model.