git submodule update --init --recursive. Sorry for the noise.
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_depsinstruction 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/cache
chown -R 1450:1450 /tool_deps/_conda/pkgs/cachethen 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_depsneeds a running server in order to work. Ideas?
USER rootwhere you need docker to switch back to acting as root?
install_tool_depsneeds to be run as
galaxyuser in order to create the envs with the correct ownership
install_tool_depsalso needs a running
startup_litein order to work, a galaxy server at localhost:8080 must be alive somehow.
startup_liteneeds to be launched while acting as root, otherwise it gets stuck on 'waiting for database'
install_tool_depswhile a galaxy server is alive
chgrp -R galaxy /tool_deps/_conda/envs && chmod g+s -R /tool_deps/_conda/envsjust after
startup_lite. This way, all the envs that will be placed in that folder will inherit the
galaxygroup ownership. Running
chmod/chuserafter the installation of all the dependencies would have worked as well, but it would be excruciatingly long.