(Optional) CryoSPARC and systemd

(Optional) Instructions for installing CryoSPARC as a systemd service.

Note: Versions CryoSPARC prior to v4.0.2 required a cryosparc-env service. This is no longer required and may be replaced with the single provided cryosparc-supervisor service.

Installing CryoSPARC as a systemd service (requires root access)

To install the optional CryoSPARC systemd service, navigate to the folder cryosparc_master/systemd inside your CryoSPARC installation directory on the master node.

Run the following command to ensure your shell's environment variables are setup correctly for CryoSPARC:

eval $(cryosparcm env)

Double check that the owner and group of the file install_services.sh matches the user and group that CryoSPARC runs as. Execute the aforementioned script as root and with the appropriate environment variables, as follows:

sudo env "CRYOSPARC_ROOT_DIR=$CRYOSPARC_ROOT_DIR" ./install_services.sh

You should have the following new service installed:

  • cryosparc-supervisor.service

To start CryoSPARC via systemd, run the service.

sudo systemctl start cryosparc-supervisor.service

If you want to configure CryoSPARC to run on startup, enable the service:

sudo systemctl enable cryosparc-supervisor.service

Notes

It is not recommended to use systemctl and cryosparcm stop/start at the same time to manage CryoSPARC, it is best to choose one or the other. When using systemd, other features of cryosparcm (other than start/stop) can be used as normal.

If you are running SELinux, it may prevent these services from functioning by default. Contact your system administrator for assistance configuring SELinux to allow the services to operate.

Troubleshooting

Users of Red Hat Enterprise Linux have reported difficulties getting the CryoSPARC systemd configuration working, likely due to SELinux. See the following discussion forum post for a workaround, until this is addressed:

https://discuss.cryosparc.com/t/cryosparc-3-0-systemd-setup-on-rhel8/5709

Last updated