:whale::bar_chart::books: Docker Images tracking the stable Galaxy releases.
hello, I have a question about galaxy+docker. I'm building an image on top of bgruening. I successfully added my some public (devteam) tools, plus my own tools. In the dockerfile I execute RUN install_tool_deps -v -u $GALAXY_DEFAULT_ADMIN_USER -p $GALAXY_DEFAULT_ADMIN_PASSWORD -g http://localhost:8080 -t /data/local_tool_conf.xml, it seems to be working. It shows progress while installing all dependencies in mulled conda environments.
Then, I start a container. Log in as admin, under Dependencies I see that all my tools have the green flag, dependencies are met. The mulled environments are physically there. When I try to launch a tool, though, it returns an error, saying "Not a conda environment", and showing me the path of the mulled environment. Observations:
the path shown in the error is correct
if I bash inside the container, I can activate the environment, and the tool works ok if launched from the command line.
docker file: https://pastebin.com/5SD4AJ1B
some more interesting elements:
install_tool_deps
instruction from the dockerfile, and I run it in a container afterwards, it complains about permissions, and suggests to chown -R 1450:1450 /tool_deps/_conda/pkgs/cachechown -R 1450:1450 /tool_deps/_conda/pkgs/cache
then install_tool_deps starts working fine, and the environments it creates (identical to the non-working ones from before), work fine. I would say this is a permissions issue. Somehow the mulled environments -which are installed after the startup-lite instruction, are not available to the galaxy user 'admin' for activation.
install_tool_deps
needs a running server in order to work. Ideas?
USER root
where you need docker to switch back to acting as root?
install_tool_deps
needs to be run as galaxy
user in order to create the envs with the correct ownershipinstall_tool_deps
also needs a running startup_lite
in order to work, a galaxy server at localhost:8080 must be alive somehow. startup_lite
needs to be launched while acting as root, otherwise it gets stuck on 'waiting for database'install_tool_deps
while a galaxy server is alive
chgrp -R galaxy /tool_deps/_conda/envs && chmod g+s -R /tool_deps/_conda/envs
just after startup_lite
. This way, all the envs that will be placed in that folder will inherit the galaxy
group ownership. Running chmod/chuser
after the installation of all the dependencies would have worked as well, but it would be excruciatingly long.