The built-in webserver only provides a service on the computer OpenREM is installed on by default (it’s only there
really for testing). To view the OpenREM interface on another computer, you need to modify the runserver command:

python manage.py runserver --insecure 0.0.0.0:8000

This will enable the web service to be available from other computers on the network. If your server has several
network cards and you want to restrict it to one, then you can use a real address rather than 0.0.0.0. Likewise you can
specify the port (here it is 8000).

In a web browser on a different computer on the same network, go to http://192.168.1.10:8000/ (changing the IP address
to the one you are running the server on) and you should see the OpenREM interface and the message about creating users.
For full functionality start the Celery task queue before moving on to Configure the settings.

Note

Why are we using the --insecure option? With DEBUG mode set to True
the test web server would serve up the static files. In this release,
DEBUG mode is set to False, which prevents the test web server
serving those files. The --insecure option allows them to be served again.

Celery will have been automatically installed with OpenREM, and along with
RabbitMQ allows for asynchronous task processing for imports, exports and DICOM networking tasks.

Note

Celery needs to be able to write to the place where the Celery logs and pid file are to be stored, so make sure:

the folder exists (the suggestion below is to create a folder in the MEDIA_ROOT location)

the user that starts Celery can write to that folder

You can put the folder wherever you like, for example you might like to create a /var/log/openrem/ folder on a linux
system.

If you are using the built-in Test web server then Celery and the webserver will be running as your user. If you are
running a production webserver, such as Apache or nginx on linux, then the user that runs those daemons will need to
be able to write to the MEDIA_ROOT and the Celery log files folder. In this case, you need to change the ownership
of the folders and change to the right user before running Celery. On Ubuntu:

Set the number of workers (concurrency, -c) as you see fit. The more you have, the more processes (imports, exports,
query-retrieve operations etc) can take place simultaneously. However, each extra worker uses extra memory and if you
have too many they will be competing for CPU resources too.

Note

Problems with Celery 4 on Windows

Full support for Celery on Windows was dropped with version 4 due to lack of Windows based developers. However,
using the settings above (and as suggested in Daemonising Celery on Windows) have been shown to work well in production.
It is possible that there may be issues with particular releases though - Celery 4.0.0 his known to work well.
If you need to install a particular version of Celery, use:

pipinstallcelery==4.0.0

To stop the celery queues in Linux:

celery multi stop default --pidfile=/path/to/media/celery/%N.pid

For Windows, just press Ctrl+c

You will need to do this twice if there are running tasks you wish to kill.

Celery beat is a scheduler. If it is running, then every 60 seconds a task is run to check if any of the DICOM
Store SCP nodes are set to keep_alive, and if they are, it tries to verify they are running with a DICOM echo.
If this is not successful, then the Store SCP is started.

To run celery beat, open a new shell and move into the openrem folder:

If you want to use OpenREM as a DICOM store, or to use OpenREM to query remote systems, go to
Config->Dicomnetworkconfiguration. For more information go to Importing data to OpenREM.

With data in the system, you will want to go to Config->Viewandeditdisplaynames and customise
the display names. An established system will have several entries for each device, from each time the software
version, station name or other elements changes. See Display names and user-defined modalities for more information