This is the code for the CryoSPARC+FRP OpenOndemand implementation presented at the SigHPC SysPros workshop at SC25.
- FRP
- Passwordless SSH from Compute Node to OOD host
- A range of ports open to external access on the OOD host
- Secondary reolved domain name for OOD host
- Download the FRP binaries from https://github.com/fatedier/frp. v0.64.0 is validated, but later versions should work as well.
- Place the FRP binaries in a shared directory accessible cluster-wide.
- Clone this repo
- Copy the FRP configs from
CS-Master/fileconfigs/to a separate directory - Modify the frpc.toml and replace the dummy domain with your secondary domain name for the OOD host
- Modify any variables in the scripts that need changing (list below)
- Copy both directories to your OOD instance and restart the web server
You should now see CryoSPARC as an option in your interactive apps
These are the variables/config options you will need (at minimum) to modify for your environment
- Cluster name in form.yml
- The following variables in
CS-Master/templates/before.sh.erb:FRPBINFRPTOML - The following variables in every file within
CS-Master/templates/:TOPCSPATHMASTERPATH - Modify the
--initial-emailargument inCS-Master/templates/script.sh.erbto reflect your institution. - The following variables in
CS-Worker/templates/script.sh.erb:TOPCSPATHWORKERPATH - The url in
CS-Master/view.html.erb
Note: You may want to update the csoutport variable in CS-Master/templates/before.sh.erb to restrict which ports FRP can listen on.