DigitalSlideArchive/digital_slide_archive

How should plugins be enabled?

Closed this issue · 3 comments

Hi again. I am deploying the DSA using the devops/deploy.sh script. The OAuth plugin was missing from the list in the Admin Console/Plugins. I ran pip install girder-oauth in the container and I can now see the plugin in the list, but no gear icon. Also, there's probably a more recommended way to have plugins enabled in the deployed instance, but I haven't been able to find the information in the docs.

After pip installing girder plugins, you need to rebuild the girder client. This is done (inside the container) via girder build.

To install a plugin as part of the deployment process, I'd probably change the command: for the girder container in your local docker-compose.yaml file:

services:
  girder:
    command: bash -c "pip install girder-oauth && girder build && /opt/digital_slide_archive/devops/dsa/start_girder.sh

We could probably add a step in the provision.py script so additional plugins could be defined in the optional provision.yaml script, but that has its own complexity.

Thanks, @manthey. I can access the OAuth settings now. Which docker-compose file are you referring to? I'm running the deploy.sh script at the moment. Should I switch to using docker-compose with the config in devops/dsa/docker-compose.yml?

The devops/deploy.sh script is a thin wrapper around the ansible/deploy_docker.py script. This script exists because we started the project before docker-compose could do everything we needed. Since then, docker-compose added the features it was missing, and we created the devops/dsa/docker-compose.yml version, which is easier to modify and extend since it is standard docker-compose.