Skip to content

Components and configuration

Tien, Eu Pin edited this page Feb 10, 2025 · 10 revisions

Overview

A Murfey deployment is comprised of multiple components, illustrated in the diagram below. These consist of:

  • A RabbitMQ message broker instance for passing messages between processing services
  • A PostgreSQL database instance for keeping track of data collection and processing information
  • The Murfey server which handles data collection registration and processing requests
  • A Murfey client which watches for data and notifies the Murfey server

In addition there are optional components:

  • ISPyB laboratory information management system for integration with user visit information and for processing results recording for display with the PATo web frontend
  • A Graylog instance for log recording

murfey-components

Configuration Files

Client Configuration

An example of the .murfey file:

[Murfey]
instrument_name = <name of client device>
server = <IP address of Murfey server>:<port number>
token = <long alphanumeric string>

Machine Configuration

An example of the murfey-machine-config.yaml file:

display_name:
image_path:

camera:
superres:
calibrations:
  magnification:
acquisition_software:
software_versions:
data_required_substrings:

data_directories:
analyse_created_directories:
gain_reference_directory:

data_transfer_enabled:
rsync_basepath:
rsync_module:
rsync_url:
allow_removal:

processing_enabled:
processed_directory_name:
processed_extra_directory:
recipes:
  em-spa-bfactor:
  em-spa-class2d:
  em-spa-class3d:
  em-spa-preprocess:
  em-spa-refine:
  em-tomo-preprocess:
  em-tomo-align:
default_model:
external_executables:
external_environment:

security_configuration_path:
murfey_url:
instrument_server_url: 
node_creator_queue:

Security Configuration

An example of the murfey-security-config.yaml file:

murfey_db_credentials:
crypto_key:
sqlalchemy_pooling:

auth_key:
auth_algorithm:
auth_type:
cookie_key:
session_validation:
session_token_timeout:

rabbitmq_credentials:
feedback_queue:

graylog_host:
graylog_port:

ispyb_credentials:

Credentials Files

PostgreSQL Database Credentials

An example of the murfey-db-credentials.yaml file:

username:
password:
host:
port:
database:

RabbitMQ Credentials

An example of the rabbitmq-credentials.yaml file:

[rabbit]
plugin:
host:
port:
username:
password:
vhost:

[Optional] ISPyB Credentials

Clone this wiki locally