Galaxy Docker Image

Docker Images tracking the stable Galaxy releases

View the Project on GitHub bgruening/docker-galaxy

Extending the Docker Image

If the desired tools are already included in the Tool Shed, building your own personalised Galaxy docker Image (Galaxy flavour) can be done using the following steps:

  1. Create a file named Dockerfile
  2. Include FROM quay.io/bgruening/galaxy at the top of the file. This means that you use the Galaxy Docker Image as base Image and build your own extensions on top of it.
  3. Supply the list of desired tools in a file ( my_tool_list.yml below). See this page for the file format requirements.
  4. Execute docker build -t my-docker-test . 4a. (if behind proxy). Add the ENV http_proxy and https_proxy variables as IPs (to avoid nameserver resolution problems) as in the example below.
  5. Run your container with docker run -p 8080:80 my-docker-test
  6. Open your web browser on http://localhost:8080

For a working example, have a look at these Dockerfiles.

# Galaxy - deepTools
#
# VERSION       0.2

FROM quay.io/bgruening/galaxy

MAINTAINER Björn A. Grüning, bjoern.gruening@gmail.com

ENV GALAXY_CONFIG_BRAND deepTools
# The following two lines are optional and can be given during runtime
# with the -e http_proxy='http://yourproxyIP:8080' parameter
ENV http_proxy 'http://yourproxyIP:8080'
ENV https_proxy 'http://yourproxyIP:8080'

WORKDIR /galaxy

RUN add-tool-shed --url 'http://testtoolshed.g2.bx.psu.edu/' --name 'Test Tool Shed'

# Install Visualisation
RUN install-biojs msa

# Adding the tool definitions to the container
ADD my_tool_list.yml $GALAXY_ROOT_DIR/my_tool_list.yml

# Install deepTools
RUN install-tools $GALAXY_ROOT_DIR/my_tool_list.yml

# Mark folders as imported from the host.
VOLUME ["/export/", "/data/", "/var/lib/docker"]

# Expose port 80 (webserver), 21 (FTP server)
EXPOSE :80
EXPOSE :21

# Autostart script that is invoked during container start
CMD ["/usr/bin/startup"]

or the RNA-workbench . The RNA-workbench has advanced examples about:

The actual data is references in a YAML file similar this one .

Where all Galaxy workflows needs to be in one directory, here the $GALAXY_HOME/workflows/ .

The data-managers can be configured and specified in a YAML file similar to this one .

If you host your flavor on GitHub consider to test our build with Travis-CI. This project will help you: https://github.com/bgruening/galaxy-flavor-testing

List of Galaxy flavours [toc]