It has been a while since I upgraded our local Girder. I just upgraded from 3.05 to 3.17 and am looking for the page where I can change plugin settings.
For example, I installed the google-oauth plugin and the plugin appears on the plugin configuration page on the Girder.
However, I cannot access any google-oauth settings within the Girder itself. Since I had previously registered with google, I just need to copy my existing settings into the new girder/plugin, but I cannot determine how to do so.
Of those plugins I do have installed, while they appear on the Girder plugin page, clicking any of them there simply takes me to the Plugin documentation page on readthedocs.
For other reasons, I am already rebuilding with “girder build”. Is there some other initialization step I am missing in the instructions that would let me get at the settings for the plugins?
Addendum: I checked an old 2.3.0 Girder, and compared to that server, I seem to be missing On/Off toggles on the plugin page as well as ‘Rebuild’. I would need to spin up my 3.0.5 version to see if those buttons were there.
Did you run
girder build after installing plugins? It builds the web client for all registered plugins (note that it requires node <=14.x). Once done, you should see a gear icon next to each plugin that has client adjustable settings.
Thanks. I am using the Docker Girder image as a starting point. I pip install the desired plugins prior to running the “girder build --dev” command.
One thing is not completely clear to me regarding the docker image and that is whether I need to do anything post build. I know the default girder setup in the docker image has a girder in /usr/local/bin/girder, but the source seems to be in /girder. After building, is there a step necessary to replace the installed version?
You shouldn’t need to do anything to replace the girder instance. Installing new plugins inside the docker container (or a derivative image), then running “girder build” or “girder build --dev” after the pip install should be sufficient, and then running “girder serve” as usual.
Yeah, that’s not working. The plugins show up as rows on the plugin page, but without any “gears” to change settings. Hence, I can’t set up the oauth secrets.
I know my pip install of the plugins is working because the base docker image has no plugins running and they only show up after I pip install them and girder build. But, still no gears for changing settings.
Is there older documentation somewhere for spinning up Girder? The latest documentation (going back several versions on readthedocs) only describes the ansible launch. There’s not much detail about either a git installation or the docker approach.
Hmm – It works when I do this (with a mongo instance running on the host computer):
docker pull girder/girder
docker run --net=host --rm --entrypoint bash -it girder/girder
And then inside the docker container
pip install girder-oauth
girder build --dev
Ok. Then we are getting into the details of the docker build.
I believe the image as built expects to run the container internally as root.
I modify my image to run as a limited user and then pip install the libraries as that user during the image creation. I also make the internal /girder folder and subfolders all read/writable by that user.
There may be some part of the pip install process or girder build that expects to be able to write to the main system folders (ex. the python tree below /usr/). I know I seem to have to run girder build itself as root, rather than my limited user.
I am also modifying the URL on the front end to serve up from a subfolder via the public_path (I am going from memory) setting in the cfg file. I suppose that might mess up the URL addressing the gear element that should appear in on the individual plugin settings.