Skip to content

Setting up Murfey

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

Direct installation

Python installation via PyPI

Murfey is hosted on PyPI and can be installed into a given Python environment via pip. Depending on whether Murfey is being installed to be run on the client PC or as a server, you can install the additional needed dependencies by specifying keys:

  1. Client-side
$ python -m pip install murfey[client]
  1. Client-side (running an instrument server)
$ python -m pip install murfey[client,instrument-server]
  1. Server-side
$ python -m pip install murfey[server]

We would recommend using a conda environment or similar rather than the system Python.

Set up environment variables

The Murfey server must be run in an environment with the following environment variables present:

  • MURFEY_MACHINE_CONFIGURATION (path to Murfey machine configuration YAML)
  • MURFEY_SECURITY_CONFIGURATION (path to Murfey security configuration YAML)
  • ISPYB_CREDENTIALS (optional, path to ISPyB credentials file)

Deploying via Kubernetes cluster

After v0.16.9, we also provide Dockerfiles that can be used to build and deploy containers for Murfey's client and server components on a Kubernetes cluster. These can be used in tandem with RabbitMQ and PostgreSQL deployments to set up a fully functional Murfey environment on said cluster. A more comprehensive walkthrough of how to build and deploy the Docker images is beyond the scope of this guide at this point.