Public | Automated Build

Last pushed: a year ago
Short Description
Build OMERO.grid until upstream catches up
Full Description

OMERO.grid Docker

This is an example of using OMERO on multiple nodes (such as running the Processor service on a separate node from the main OMERO.server), based on

Building the images

./ omero-grid
./ omero-grid-web

This will automatically build and tag the images as openmicroscopy/omero-grid:latest and openmicroscopy/omero-grid-web:latest.

Running the images

To run the Docker images start a postgres DB:

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres postgres

Then either run a single all-in-one master:

docker run -d --name omero-master --link postgres:db -e DBUSER=postgres \
    -e DBPASS=postgres -e DBNAME=postgres -p 4063:4063 -p 4064:4064 \
    -e ROOTPASS=omero openmicroscopy/omero-grid master

Or run a master and one or more slaves, the configuration must be provided to the master node.
For example, to run two Processors on separate slaves and all other servers on master:

docker run -d --name omero-master --link postgres:db -e DBUSER=postgres \
    -e DBPASS=postgres -e DBNAME=postgres -p 4063:4063 -p 4064:4064 \
    openmicroscopy/omero-grid master \
    master:Blitz-0,Indexer-0,DropBox,MonitorServer,FileServer,Storm,PixelData-0,Tables-0 \
    slave-1:Processor-0 slave-2:Processor-1
docker run -d --name omero-slave-1 --link omero-master:master \
    openmicroscopy/omero-grid slave-1
docker run -d --name omero-slave-2 --link omero-master:master \
    openmicroscopy/omero-grid slave-2

Finally run the web client:

docker run -d --name omero-web --link omero-master:omero -p 8080:8080 \

Default volumes

  • /home/omero/OMERO.server/var: The OMERO.server var directory, including logs
  • /OMERO: The OMERO data directory (omero-grid only)
  • /home/omero/nginx: Nginx var directory, including logs and cache files (omero-grid-web only)

Exposed ports

  • omero-grid: 4061, 4063, 4064
  • omero-grid-web: 8080

Example with named volumes

docker volume create --name omero-db
docker volume create --name omero-data

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres \
    -v omero-db:/var/lib/postgresql/data postgres
docker run -d --name omero-master --link postgres:db -e DBUSER=postgres \
    -e DBPASS=postgres -e DBNAME=postgres -v omero-data:/OMERO \
    -p 4063:4063 -p 4064:4064 openmicroscopy/omero-grid master
docker run -d --name omero-web --link omero-master:master -p 8080:8080 \

Running without links

As an alternative to running with --link the addresses of the database and master can be specified using the variables DBHOST and OMEROHOST.
This may be useful when running containers across multiple hosts.
For example:

docker run -d -e DBHOST= openmicroscopy/omero-grid master
docker run -d -e OMEROHOST= openmicroscopy/omero-grid-web

Public Group

These environment variables can be used to enable public web access.

This is comprised of three environment settings. PUBLIC_GROUP
enables the public group and sets its name, PUBLIC_USER allows customization
of the username (default public-user) used to provide the public interface and
PUBLIC_PASSWORD should be used to set the password (default omero) for that
user. These settings are required on both instances as omero-grid must
configure the accounts and omero-grid-web must use those account settings.

docker run -d -e PUBLIC_GROUP=public-group -e PUBLIC_USER=public-user -e PUBLIC_PASSWORD=omero openmicroscopy/omero-grid master
docker run -d -e PUBLIC_GROUP=public-group -e PUBLIC_USER=public-user -e PUBLIC_PASSWORD=omero openmicroscopy/omero-grid-web master

Custom OMERO builds

These images default to using the latest release build of OMERO.
You can override the version/branch, and/or the continuous integration server, see ./ --help for details.

The images will be tagged (<user>/<image>:<tag>) with a different user (based on the CI server if not the default) and tag (the release version or branch name) to indicate they are using a non-standard version of OMERO.

In addition omego args can also be passed, if this is done the image name will be prefixed with x-.

Docker Pull Command
Source Repository