OMERO.web installation on Mac OS X and IcePy 3.6

Please first read OMERO.server installation on OS X with Homebrew.

This is an example walkthrough for installing OMERO.web decoupled from the OMERO.server in a virtual environment using OMERO.py and a dedicated system user. Installing OMERO.web in a virtual environment is the preferred way. For convenience in this walkthrough, we will use the ** system user** and define the main OMERO.web configuration options as environment variables.

The following steps are run as root.

Install Homebrew in /usr/local:

xcode-select --install


ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew update
brew doctor

Installing prerequisites

Install dependencies:

brew install python
brew install nginx
pip install --upgrade virtualenv

Creating virtual environment

Create the virtual environment. This is the preferred way to install OMERO.web:

# option 1: in a virtual environment with --system-site-packages on
virtualenv ~/omerowebvenv --system-site-packages

# option 2: in a virtual environment with --system-site-packages off
virtualenv ~/omerowebvenv

Installing OMERO.web

Install OMERO.web using OMERO.py:

cd ~
curl -o OMERO.py.zip -L https://downloads.openmicroscopy.org/latest/omero5/py.zip
unzip -q OMERO.py*

zip=$(ls OMERO.py*.zip)
rm -f $zip
ln -s OMERO.py-* OMERO.py

Install dependencies:

brew install python
brew install nginx
pip install --upgrade virtualenv

Install the OMERO.web requirements. Select one of the commands corresponding to the way you have opted to install it:

# option 1: in a virtual environment with --system-site-packages on
~/omerowebvenv/bin/pip install --upgrade -r ~/OMERO.py/share/web/requirements-py27.txt

# option 2: in a virtual environment with --system-site-packages off
~/omerowebvenv/bin/pip install --upgrade -r ~/OMERO.py/share/web/requirements-py27-all.txt

Installing OMERO.web apps

A number of apps are available to add functionality to OMERO.web, such as OMERO.figure and OMERO.iviewer. See the main website for a list of released apps. These apps are optional and can be installed via pip to your OMERO.web virtual environment at any time.

Configuring OMERO.web

For convenience the main OMERO.web configuration options have been defined as environment variables. You can either use your own values, or alternatively use the following ones:

export WEBPORT=80
export WEBSERVER_NAME=localhost

Configure OMERO.web and create the NGINX OMERO configuration file:

. ~/omerowebvenv/bin/activate

~/OMERO.py/bin/omero config set omero.web.application_server wsgi-tcp
~/OMERO.py/bin/omero web config nginx --http "${WEBPORT}" --servername "${WEBSERVER_NAME}" > ~/nginx.conf.tmp

For more customization, please read Customizing your OMERO.web installation.

Configuring Gunicorn

Additional settings can be configured by changing the following properties:

Configuring NGINX

Copy the generated configuration file into the NGINX configuration directory:

cp ~/nginx.conf.tmp /usr/local/etc/nginx/servers/omeroweb-nginx.conf

# Restart webserver
brew services restart nginx

Standalone OMERO.web

Install WhiteNoise:

. ~/omerowebvenv/bin/activate

pip install --upgrade 'whitenoise<4'

Configure WhiteNoise and start OMERO.web manually to test the installation:

. ~/omerowebvenv/bin/activate

~/OMERO.py/bin/omero config append -- omero.web.middleware '{"index": 0, "class": "whitenoise.middleware.WhiteNoiseMiddleware"}'

~/OMERO.py/bin/omero web start

# Test installation e.g. curl -sL localhost:4080

~/OMERO.py/bin/omero web stop

Running OMERO.web

Start up services:

source ~/omerowebvenv/bin/activate

# Start OMERO.web
~/OMERO.py/bin/omero web start

Maintenance

Please read OMERO.web maintenance.