qiime2 / q2galaxy

Generate Galaxy tool descriptions automatically from QIIME 2 actions.
BSD 3-Clause "New" or "Revised" License
19 stars 18 forks source link

Consider using docker-compose for stand-alone deployments #36

Open colinbrislawn opened 2 years ago

colinbrislawn commented 2 years ago

Addition Description Docker-compose is one way to orchestrate docker services. It allows users or devs to define infrastructure-as-code and could help users deploy this plugin more easily.

Current Behavior Docker services are built and launched one at a time

Proposed Behavior Provide infrastructure to deploy q2galaxy along with the rest of galaxy, perhaps like this: https://github.com/bgruening/docker-galaxy-stable

Questions Project scope: Given that Qiime2 is focused on end users, deployment and orchestration could be out of scope for this plugin Where's the best place to put this code? Within this repo, a separate repo, or as part of an existing docker infrastructure project? What orchestration engine to use? Why not use Kubernetes instead of docker-compose?

User stories: - [Qiime2 forums x-ref](https://forum.qiime2.org/t/installing-q2-galaxy-on-aws/22193/3); user successfully deploys docker and q2galaxy on AWS, but has some trouble setting up ports
ebolyen commented 2 years ago

Thanks @colinbrislawn,

These are good suggestions. Our base image is already made out of the linked container, but I suspect I could be using it better. Creating a docker-compose file might be a nice way to skip some initial deployment issues on cloud infrastructure.

We can probably just put something like that in this repo for the sake of convenience. The dockerfile is similarly here.

ebolyen commented 2 years ago

One issue to better support these cases will be handling user admin on the docker container. Will need to figure out how that is set up.

colinbrislawn commented 2 years ago

In this context, what do you mean by user admin? Like, login or SSO? How is this handled now and can you see how it's addressed by that other docker-compose galaxy repo?

ebolyen commented 2 years ago

The currently baked image assumes single user mode, no password, etc. That's not ideal for internet facing services, so I would need to look into how the base image handles these things (our image inherits from bgruening/docker-galaxy-stable).