--allowroot option for running master install.sh

I am not sure if this is posted previously (seems not based on my search).

I am trying to install cryosparc in docker, but it seems from the version 4.1.1, using --allowroot option still facing the error “ERROR: This command can only be called by the owner of this script: UNKNOWN. You are root!”

I tested the v4.0.2 is fine with --allowroot, but failed with v4.1.1, V4.2.1, v4.3.0.

Can you please give some suggestion on this? Thanks!

@Mike Thanks for reporting this issue. Please can you elaborate on your installation workflow. Are you aiming to RUN the install.sh command inside a Dockerfile, or execute install.sh in a running container?

Thanks @wtempel ! I was going to run install.sh in a Dockerfile like this “RUN bash {CRYOSPARC_MASTER_DIR}/install.sh --allowroot --license "{CLIC}” --yes"

I did more research and found it is mentioned within the installation guide now “Do not use the root account to install, update or manage a CryoSPARC instance. CryoSPARC Installation Prerequisites - CryoSPARC Guide” Could this be the reason? If so, we will try a workaround way to create local user insider the Dockerfile.

Thanks!

While the warning against installing or running CryoSPARC as root applies,

refers to a mismatch between file ownership and the user attempting a certain operation. You may avoid the error by setting

CRYOSPARC_FORCE_USER=true

in the Dockerfile environment and/or inside config.sh (guide).
This setting may render your CryoSPARC installation less secure.

1 Like

Thanks @wtempel . The issue is solved and set up the above env in Dockerfile is working.

Best,