Question: galaxy docker deletes custom tools
gravatar for eric
2.2 years ago by
UC Berkeley
eric0 wrote:

I'm having problems adding custom tools to a docker galaxy instance. Using galaxy docker with export option.

1) i tried adding my tools into the galaxy-central/tools directory (galaxy-central/tools/mytools). And I put my tool_conf.xml in galaxy-central/config. But, galaxy-central/tools/mytools directory gets deleted every time I start docker galaxy.

2) then I put my tool defs under galaxy-central (galaxy-central/mytools), trying relative and absolute paths in config/tool_conf.xml in section. None of these seem to work. My tools don't show up in the sidebar.

  <section id="MyTools" name="My Tools">
    <tool file="/var/www/galaxy_storage/galaxy-central/mytools/mytooldef_a.xml" />
    <tool file="../mytools/mytooldef_b.xml" />

How can I get this working with the docker instance? Thanks.

tools docker • 731 views
ADD COMMENTlink modified 2.2 years ago by Bjoern Gruening5.1k • written 2.2 years ago by eric0
gravatar for Bjoern Gruening
2.2 years ago by
Bjoern Gruening5.1k
Bjoern Gruening5.1k wrote:


please do not change anything in the container. Everything will be lost after stopping the container. You need to modify the tools in your /export/ folder. The folder you mount into your container.

Hope this helps, Bjoern

ADD COMMENTlink written 2.2 years ago by Bjoern Gruening5.1k

Thank Bjoern,

I put my changes in the export directory (galaxy_storage), which I understand is where I can store my persistent/writable customizations. Isn't that the point of the export directory? Or am I misinterpreting the role of the export directory?

According to the documentation:

docker run -d -p 8080:80 -v /home/user/galaxy_storage/:/export/ bgruening/galaxy-blast

With the additional -v /home/user/galaxy_storage/:/export/ parameter, docker will mount the folder /home/user/galaxy_storage into the Container under /export/. A script, that is usually starting Apache, PostgreSQL and Galaxy, will recognise the export directory with one of the following outcomes:

In case of an empty /export/ directory, it will move the PostgreSQL database, the Galaxy database directory, Shed Tools and Tool Dependencies and various config scripts to /export/ and symlink back to the original location. In case of a non-empty /export/, for example if you continue a previouse session within the same folder, nothing will be moved, but the symlinks will be created. This enables you to have different export folders for different sessions - means real separation of your different projects.

Otherwise, can you propose a method to add custom tools using the docker galaxy instance?

ADD REPLYlink written 2.2 years ago by eric0

You are on the right track! I have written here some more details, hopefully this will help:

ADD REPLYlink written 2.2 years ago by Bjoern Gruening5.1k

Yea, thanks for the input here. Cleared it up and now it's working. Thanks!

I also noted that that using the method you outlined, shed_tool_conf.xml.sample also needs to be modified to reference the /local_tools path (<toolbox tool_path="/local_tools/shed_tools">), otherwise, the shed tools won't show.

However, given that the /tools directory gets reset each time the instance is run, why wouldn't we just let us just put custom tools into the /tools directory? Then the additional -e GALAXY_CONFIG_TOOL_CONFIG_FILE= Particularly given that the other local paths, like /config, can be modified. Just wondering. Thanks.

ADD REPLYlink modified 2.2 years ago • written 2.2 years ago by eric0
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 177 users visited in the last hour