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

  1. Create a new dashboard and add your cards (SQL or Questions).

  2. Enable static embedding and note the embed URL/parameters.

  3. Add a new iFrame integration in the relevant front-end plugin (see OMERO.biomero docs for examples).

  4. 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

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 as metabase.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.