Environment & Configuration¶
This how-to guide covers configuring a python environment to run Haven, Firefly, and the Haven Queueserver.
Haven uses Pixi for managing instrument configurations. For standard deployment, these variables are set in the pixi.toml file. Adding a new instrument requires the following steps:
clone the Haven repository as the beamline service account (e.g.
s255idzuser):git clone https://github.com/spc-group/haven.gitAdd a section of environmental variables to
pixi.toml(see the example below)Create the configuration files pointed to by the environmental variables
Environmental Variables¶
Each instrument should have a Pixi feature that sets the appropriate environmental variables to operate that beamline:
[feature.255idz.activation.env]
BLUESKY_DIR = "/net/s255data/xorApps/bluesky/255idz/"
HAVEN_CONFIG_FILES = "${BLUESKY_DIR}iconfig.toml"
TILED_CONFIG = "${BLUESKY_DIR}/.tiled_server_config.yml"
QSERVER_ZMQ_CONTROL_ADDRESS = "tcp://localhost:60617"
QSERVER_ZMQ_CONTROL_ADDRESS_FOR_SERVER = "tcp://*:60617"
QSERVER_ZMQ_INFO_ADDRESS = "tcp://localhost:60627"
QSERVER_ZMQ_INFO_ADDRESS_FOR_SERVER = "tcp://*:60627"
To properly configure an environment for running Haven, Firefly, the Queueserver, and Tiled, configure the following environmental variables:
BLUESKY_DIRPath to a folder for holding generated files from queueserver, Tiled, etc.
HAVEN_CONFIG_FILESComma-separated list of paths to the local configuration files.
TILED_CONFIGPath to the file holding Tiled server configuration.
QSERVER_ZMQ_CONTROL_ADDRESSThe ZeroMQ host and port to be used for clients to connect to the queueserver. E.g.
tcp://hostname.anl.gov:60615QSERVER_ZMQ_CONTROL_ADDRESS_FOR_SERVERThe ZeroMQ host and port to be used by the queueserver itself. E.g.
tcp://*:60615QSERVER_ZMQ_INFO_ADDRESSThe ZeroMQ host and port to be used for clients to connect to the queueserver. E.g.
tcp://hostname.anl.gov:60615QSERVER_ZMQ_INFO_ADDRESS_FOR_SERVERThe ZeroMQ host and port to be used by the queueserver itself. E.g.
tcp://*:60625