Deployment Guideο
NL-BIOMERO Deployment & Upgrade Guideο
This document outlines several deployment scenarios for the NL-BIOMERO platform. Containers are available prebuilt and deployment is possible on Linux, Windows (via Docker Desktop), or Podman (e.g. RHEL/SELinux). Kubernetes setups should also be possible with shares between services.
Note: The scenarios in this document are examples for inspiration, not official recommendations or complete solutions. You should adapt them to your infrastructure, security posture, and operational requirements.
For detailed docker-compose configurations for each scenario, see Docker Compose Scenarios.
Scenario 0: Development & Demoο
- Development-focused deployments with source code access 
- Suitable for testing, development, and demonstration purposes 
- Builds containers from local source code 
- Can include special configurations for easier development workflow 
β See Docker Compose Scenarios for specific configurations and usage details.
Scenario 1: Fresh Deployment (no existing data)ο
- Deploy all containers using docker-compose (1 server) or across multiple VMs. 
- Configuration files define all ports, mounts, and credentials. - You can change mounted Docker volumes to be on-disk mounts. 
 
- No OMERO data required. 
- Works on Windows (Docker Desktop), Linux (Docker or Podman). 
- For Kubernetes, adjust disk mounts and configs accordingly; some data needs to be shared between services. 
β See Docker Compose Scenarios for specific deployment configurations.
Scenario 2: Fresh Deployment with Existing Dataο
- Use this if restoring an existing OMERO backup. 
- Requires OMERO backup (just follow the standard OMERO.server backup and restore): - PostgreSQL dump ( - pg_dump ...)
- Config dump ( - omero config get), store in- /OMERO/backup
- /OMEROdata backup
 
- Restore using scripts in - backup_and_restore/:- restore/restore_db.sh/- .ps1
- restore/restore_server.sh/- .ps1
- The config dump is picked up by - 00-restore-config.shon server startup
 
- Supports upgrade to newer PostgreSQL too (e.g. dump from 11, restore into 16) 
- OMERO.server version must match w/ container, upgrade locally first if it doesnβt. 
β See backup_and_restore/README.md for exact steps of such restore scripts.
It also describes the opposite (backing up containers).
Scenario 3: Hybrid Deployment with Existing OMERO Serverο
- Keep your existing OMERO.server + PostgreSQL. 
- Deploy (perhaps on a separate VM) only a subset of containers, e.g.: - biomero,- metabase,- omeroweb,- biomero-database,- biomero-importer(BIOMERO.analyzer & BIOMERO.importer)
- biomero,- metabase,- omeroweb,- biomero-database(BIOMERO.analyzer only)
- biomero-importer,- metabase,- omeroweb,- biomero-database(BIOMERO.importer only)
 
- Connect these to the external OMERO server through the env/config variables. - Specifically, this would require an OMERO.grid connection between the 2 VMs. See for example the Micron Oxford setup and OMERO docs on multiple hosts for such a split. 
 
- Still requires some minimal config/scripts additions to your OMERO server to make the rest work. For now, see the Dockerfile of - serverand its config in the deployment configurations.
β Please contact us directly or on image.sc for help with such a scenario. Weβd love to hear from you and see how we can help streamline such a deployment.
Scenario 4: Full Non-Docker Install (Not Recommended)ο
- Manual install of OMERO + BIOMERO + Metabase on disk (e.g. with Ansible). 
- Not officially supported β too many OS/env dependencies. 
- Harder to upgrade with new versions or reproduce issues. 
- But: All Dockerfiles are open source and all install steps can be followed if needed. 
- Note that Windows is not supported by OMERO itself. And our dockerfiles only show installations on Linux too. 
β Use only if containerized deployment is not possible.
Notesο
- All mounts and port mappings are defined in the deployment configuration files. 
- Environment files control ports, secrets, paths β adjust before deploy. 
- Podman with SELinux is supported (e.g. on RHEL) with volume labels set. 
- For restore/upgrade: follow OMERO docs: https://omero.readthedocs.io/en/stable/sysadmins/server-backup-and-restore.html 
Next Stepsο
- Want a quick install? β Start with Scenario 1. 
- Migrating old data? β Use Scenario 2 and the restore scripts. 
- Extending an existing OMERO setup? β Use Scenario 3. 
- Avoiding containers? β Proceed with caution (Scenario 4). 
Containers reduce complexity β youβre not stuck managing dependencies or OS quirks.