OMERO.web installation for developers
=====================================
Getting set up
--------------
You will need to have an OMERO server running that you can connect to. This
could be on your own machine ``localhost`` or you can connect to a
remote OMERO server.
The preferred option for developing OMERO.web apps is to install
``omero-web`` on your machine as described below.
However, it is also possible to use
`omero-web-docker `_
to run OMERO.web in a Docker container.
If you are using this option, you can go directly to the
:doc:`/developers/Web/CreateApp` page which describes this process.
Installing OMERO.web
--------------------
From OMERO 5.6.0 release, the ``omero-web`` library supports Python 3 and
can be installed via :command:`pip`. We need to specify an :envvar:`OMERODIR` location
where `omero-web` will create log files and a :file:`config.xml` file. This can be any existing
directory.
We recommend you use a virtual environment and start by installing ``omero-py``
as described at `omero-py `_.
.. parsed-literal::
# Somewhere to create config and log files
$ export OMERODIR=$(pwd)
$ pip install 'omero-web>=\ |version_web|'
Using the lightweight development server
----------------------------------------
All that is required to use the Django lightweight development server
is to set the :property:`omero.web.application_server` configuration option,
and turn :property:`omero.web.debug` on.
If you want to connect to a remote OMERO server, add that as shown.
Then start up the development server to run in the foreground:
::
$ omero config set omero.web.application_server development
$ omero config set omero.web.debug True
$ omero config append omero.web.server_list '["server.address", 4064, "name"]'
$ omero web start
INFO:__main__:Application Starting...
INFO:root:Processing custom settings for module omeroweb.settings
...
Validating models...
0 errors found
Django version 3.2, using settings 'omeroweb.settings'
Starting development server at http://127.0.0.1:4080/
Quit the server with CONTROL-C.
You should now be able to open http://localhost:4080 in your browser,
choose the OMERO server and login.
Using WSGI
----------
For convenience you may wish to run a web server under your local user account
instead of using a system server for testing. Install NGINX and Gunicorn
(See :doc:`/sysadmins/unix/install-web/web-deployment`) but generate a configuration file
using the following commands:
::
$ omero config set omero.web.application_server 'wsgi-tcp'
$ omero web config nginx-development > nginx-development.conf
Start NGINX and the Gunicorn worker processes running one thread
listening on 127.0.0.1:4080 that will autoreload on source change:
::
$ nginx -c $PWD/nginx-development.conf
$ omero config set omero.web.application_server.max_requests 1
$ omero config set omero.web.wsgi_args -- "--reload"
$ omero web start
Next: Get started by :doc:`/developers/Web/CreateApp`....