DigitalSlideArchive / digital_slide_archive

The official deployment of the Digital Slide Archive and HistomicsTK.
https://digitalslidearchive.github.io
Apache License 2.0
108 stars 49 forks source link

How should plugins be enabled? #201

Closed fepegar closed 2 years ago

fepegar commented 2 years ago

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.

manthey commented 2 years ago

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.

fepegar commented 2 years ago

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?

manthey commented 2 years ago

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.