Metabase Administration
This guide covers the administrative setup and configuration of Metabase for NL-BIOMERO deployments. For technical development details, see Metabase Container.
Overview
Metabase provides analytics and visualization dashboards for OMERO and BIOMERO data. As a system administrator, you need to:
Configure secure access and authentication
Set up database connections
Manage dashboard deployment and embedding
Handle upgrades and migrations
Initial Security Setup
Danger
Critical Security Configuration Required
When deploying NL-BIOMERO in any environment, you must change the default Metabase admin password immediately. The default credentials are publicly documented in the project repository and should never be used in production environments.
After First Deployment
Follow these security setup steps immediately after deployment:
Step 1: Change Admin Password
Go to your Metabase URL (e.g.,
http://localhost:3000)Log in with the default credentials:
admin@biomero.com/b1omeroGo to Settings → Account settings → Password
Change to a secure password and save
Step 2: Update Database Connection Passwords
Go to Settings → Admin settings → Databases
For each database (BIOMERO and OMERO):
Click on the database name
Change the password to match your environment’s database passwords
Update host/port if different from defaults
Click “Save changes”
Click “Sync database schema now” and “Re-scan field values now”
Step 3: Regenerate Embedding Key
Go to Settings → Admin settings → Embedding
Click “Manage” on the Static embedding card
Click “Regenerate key”
Update your
.envfile with the newMETABASE_SECRET_KEYRestart OMERO.web to pick up the new key
Step 4: Update Dashboard URL Redirects
Open the sidebar (Ctrl + .), click on “BIOMERO.importer” dashboard
Click “Edit dashboard” (pen icon)
Hover over the “Upload Status” table and click “Click behavior”
Update all “GO TO CUSTOM DESTINATION” URLs to match your environment
Repeat for the “BIOMERO Analytics” dashboard
Database Connection Management
Metabase connects to your OMERO and BIOMERO PostgreSQL databases to provide real-time analytics.
Adding Database Connections
Go to Settings → Admin settings → Databases
Click “Add database”
Configure connection parameters:
Database type: PostgreSQL
Host: Your database host (e.g.,
postgres)Port: Database port (typically
5432)Database name: Target database (
omeroorbiomero)Username/Password: Database credentials
Testing Connections
After adding databases:
Click “Save changes” to test the connection
Use “Sync database schema now” to refresh table structure
Use “Re-scan field values now” to update filter options
Verify tables are visible in the Data Model section
Dashboard Management
NL-BIOMERO includes pre-configured dashboards for monitoring and analytics.
Standard Dashboards
Dashboard #2: BIOMERO analytics - Workflow progress and results
Dashboard #6: BIOMERO.importer - Import progress and status
Both dashboards are embedded in OMERO.web via the OMERO.biomero plugin.
Embedding Configuration
Dashboards are embedded using Metabase’s static embedding feature:
Enable Embedding: Settings → Admin settings → Embedding → Static embedding
Get Embed URL: Dashboard → Sharing → Static embedding
Configure Parameters: Set up user-specific filtering (e.g., by OMERO user ID)
Update Secret Key: Ensure
METABASE_SECRET_KEYmatches between Metabase and OMERO.web
Editing Dashboards
Modify Existing Dashboards:
Open dashboard and click “Edit dashboard” (pen icon)
Add, remove, or modify cards (graphs/tables)
Configure filters and parameter connections
Save changes - effects are immediate in embedded views
Create New Dashboards:
Click “New” → “Dashboard”
Add cards using SQL queries or Metabase Questions
Configure static embedding if needed for OMERO.web integration
Document embed parameters and integration requirements
User Account Management
Admin Account
Change Password: Settings → Account settings → Password
Security Audit: Review login history in account settings
Password Reset: See Metabase documentation for admin password recovery
Additional Users
For multi-user Metabase deployments:
Go to Settings → Admin settings → People
Add users with appropriate permissions
Configure groups and database access as needed
Backup and Migration
Database File Management
Metabase stores all configuration in an H2 database file:
Location: Configured via
MB_DB_FILEenvironment variableFile Format: On disk appears as
metabase.db.mv.dbContains: Dashboards, users, database connections, embedding keys
Backup Strategy:
# Stop Metabase container
docker-compose stop metabase
# Backup database file
cp ./metabase/metabase.db.mv.db ./backups/metabase-$(date +%Y%m%d).db.mv.db
# Restart container
docker-compose start metabase
Upgrading Dashboards
Dashboard upgrades can be challenging in the free version of Metabase:
Option 1: Replace Database File
Backup current database: Save your existing
metabase.db.mv.dbDeploy updated database: Use new database file from NL-BIOMERO releases
Reconfigure environment: Follow all steps in Initial Security Setup section
Update integrations: Restart OMERO.web with new
METABASE_SECRET_KEY
Option 2: Manual Dashboard Updates
Keep existing database: Maintain your current configuration
Apply manual changes: Update dashboards individually based on release notes
Test functionality: Verify all embedded dashboards work correctly
Environment Configuration
Docker Compose Setup
Essential environment variables for Metabase container:
services:
metabase:
image: metabase/metabase:latest
environment:
MB_DB_TYPE: h2
MB_DB_FILE: /metabase-data/metabase.db
JAVA_TIMEZONE: UTC
volumes:
- "./metabase:/metabase-data:rw"
ports:
- "3000:3000"
Integration with OMERO.web
Configure OMERO.web to embed Metabase dashboards:
# In .env file
METABASE_SECRET_KEY=your_generated_embedding_key
METABASE_URL=http://metabase:3000
Security Considerations
Network Access
Restrict public access: Use reverse proxy or firewall rules
Database connections: Ensure secure database authentication
HTTPS deployment: Use SSL certificates for production deployments
Data Protection
Regular backups: Automate Metabase database file backups
Access logging: Monitor dashboard access and admin activities
Environment separation: Use different credentials for dev/staging/production
Troubleshooting
Common Issues
“Message seems corrupt or manipulated” in OMERO.web iframe
This indicates the embedding key mismatch:
Check current embedding key: Metabase → Settings → Admin settings → Embedding
Update
METABASE_SECRET_KEYin your.envfileRestart OMERO.web container
Database Connection Failures
Verify database credentials in Metabase admin settings
Test network connectivity between containers
Check database logs for connection errors
Confirm PostgreSQL is accepting connections
Dashboard Not Loading
Check Metabase logs for errors
Verify dashboard permissions and embedding settings
Test dashboard access directly in Metabase UI
Confirm iframe parameters match dashboard expectations
Performance Issues
Query optimization: Review slow dashboard queries
Database indexing: Add indexes for frequently queried columns
Resource allocation: Increase container memory/CPU limits
Caching: Configure Metabase query caching appropriately