Deployment
To deploy the web-monitor, you require web-monitor, workflow-db and workflow-mgr. For test deployments there are also catalog, testfixtures, amqbroker and autoreducer to fake external services.
Requirements
PostgreSQL 17 or higher
Python 3.11
Configuration
web-monitor environment variables
Variable |
Secret |
Description |
|---|---|---|
AMQ_BROKER |
List of ActiveMQ brokers |
|
APP_SECRET |
yes |
|
CATALOG_URL |
yes |
|
CATALOG_API_TOKEN |
yes |
|
DATABASE_HOST |
PostgreSQL hostname |
|
DATABASE_NAME |
Database name |
|
DATABASE_PASS |
yes |
PostgreSQL Owner password |
DATABASE_PORT |
PostgreSQL post |
|
DATABASE_USER |
PostgreSQL Owner username |
|
DJANGO_SETTINGS_MODULE |
||
ICAT_PASS |
yes |
ActiveMQ password |
ICAT_USER |
ActiveMQ username |
|
LDAP_DOMAIN_COMPONENT |
yes |
Use in AUTH_LDAP_USER_DN_TEMPLATE |
LDAP_SERVER_URI |
yes |
|
TIME_ZONE |
||
LOAD_INITIAL_DATA |
In non-production environments, loads default database “db_init.json” when set to “true”. Set to “false” if loading a database dump instead |
workflow-db environment variables
Variable |
Secret |
Description |
|---|---|---|
POSTGRES_DB |
Database name |
|
POSTGRES_PASSWORD |
yes |
PostgreSQL Owner password |
POSTGRES_USER |
PostgreSQL Owner username |
workflow-mgr environment variables
Variable |
Secret |
Description |
|---|---|---|
AMQ_BROKER |
List of ActiveMQ brokers |
|
AMQ_QUEUE |
List of ActiveMQ queues dasmon should listen to| |
|
APP_SECRET |
yes |
|
DATABASE_HOST |
PostgreSQL hostname |
|
DATABASE_NAME |
Database name |
|
DATABASE_PASS |
yes |
PostgreSQL Owner password| |
DATABASE_PORT |
PostgreSQL post |
|
DATABASE_USER |
PostgreSQL Owner username |
|
ICAT_PASS |
yes |
ActiveMQ password |
ICAT_USER |
ActiveMQ username |
|
TIME_ZONE |
||
WORKFLOW_USER |
ActiveMQ workflow username |
|
WORKFLOW_PASS |
yes |
ActiveMQ workflow password |
catalog environment variables (TEST only)
Variable |
Secret |
Description |
|---|---|---|
ACTIVE_MQ_HOST |
ActiveMQ hostname |
|
ACTIVE_MQ_PORTS |
ActiveMQ port |
|
ICAT_PASS |
yes |
ActiveMQ password |
ICAT_USER |
ActiveMQ username |
testfixtures environment variables (TEST only)
Variable |
Secret |
Description |
|---|---|---|
BROKER |
ActiveMQ broker address |
|
DATABASE_HOST |
PostgreSQL hostname |
|
DATABASE_NAME |
Database name |
|
DATABASE_PASS |
yes |
PostgreSQL Owner password| |
DATABASE_PORT |
PostgreSQL post |
|
DATABASE_USER |
PostgreSQL Owner username |
|
ICAT_PASS |
yes |
ActiveMQ password |
ICAT_USER |
ActiveMQ username |
Additional configuration files
amqbroker-deploy (TEST only) -> icat_activemq.xml
icat and workflow username and passwords are set in here
autoreducer-deploy (TEST only)-> post_processing.conf
ActiveMQ server address needs to be set in here
icat username and password needs to be set in here
web-monitor-deploy -> nginx conf
Notes
You need to make sure the following variables match:
DATABASE_*in web-monitor, workflow-mgr and testfixtures, and POSTGRES_* in databaseICAT_USERandICAT_PASSin web-monitor, workflow-mgr, catalog and testfixtures, and amqbroker (icat_activemq.xml) and autoreducer (post_processing.conf)WORKFLOW_USERandWORKFLOW_PASSin workflow-mgr and in amqbroker (icat_activemq.xml)