Announcement: Galaxy Docker builds
Dear Galaxy Devs and Users, I'm pleased to announce the Galaxy Docker Image project! The Galaxy Docker Image is an easy distributable full-fledged Galaxy installation, that can be used for testing, teaching and presenting new tools and features. One of the main goals is to make the access to entire tool suites as easy as possible. Usually, this includes the setup of a public available webservice that needs to be maintained, or that the Tool-user needs to either setup a Galaxy Server by its own or to have Admin access to a local Galaxy server. With docker, tool developers can create their own Image with all dependencies and the user only needs to run it within docker. Ideally suited to make your reviewers happy :) Currently, I have three test images to play with. The first one, bgruening/galaxy-stable is the main Image that will do all the heavy lifting of setting up PostgreSQL, Apache and Galaxy. bgruening/deepTools and bgruening/chemicaltoolbox are proof of concepts how easy it is to create an own Image build on top of the main Galaxy Image. https://index.docker.io/u/bgruening/galaxy-deeptools/ https://index.docker.io/u/bgruening/galaxy-chemicaltoolbox/ How to use it: docker run -d -p 8080:80 bgruening/galaxy-deeptools docker run -d -p 8080:80 -p 8000:8000 bgruening/galaxy-chemicaltoolbox For a more detailed description please read: https://github.com/bgruening/docker-recipes/tree/master/galaxy I would be very much interested in any kind of feedback. Especially, in two technical questions: I'm not sure if a "trusted build" from the docker index is the best way to go. Trusted Builds in docker are super convenient. It is a post-commit hook from github. Every time something is pushed, the image will be rebuild. The problem is that I can't tag my images with "trusted builds" and unless I have missed something, that forces me to create new repositories every time a new Galaxy release is out. A better way would be, one repository with different tags: galaxy-stable, galaxy-feb-2014 and so on. Every Galaxy release will be just a diff between the old and the new. But this is not possible with "trusted builds". One other trick I used is to remove the mercurial history, that saves 180MB. I'm not sure if this is wise, because it probably kills a few use cases. Currently, the aim of this project is a little bit different from being a developer environment. So I decided to remove it. Please ping me if this was a bad decision :) Thanks for reading! Bjoern
Björn; I wanted to say that this was brilliant work. Thanks for taking it on. Docker is super awesome, and I'm excited to see other folks using it. I'm patiently waiting for user namespace support so non-privileged users can run it but otherwise happy. I also had the same problem with trusted builds. It's a collection of diffs over time so gets out of control quickly. I also ran into download issues as the size of the repo increased but that might not be an issue here unless you try to host a lot of tools with Galaxy. What I do for bcbio-nextgen is export and gzip the image and then import it back in: https://github.com/chapmanb/bcbio-nextgen-vm#creating-containers It's not nearly as clean as trusted builds but deals with the size and multiple version issues, Brad
Dear Galaxy Devs and Users,
I'm pleased to announce the Galaxy Docker Image project!
The Galaxy Docker Image is an easy distributable full-fledged Galaxy installation, that can be used for testing, teaching and presenting new tools and features.
One of the main goals is to make the access to entire tool suites as easy as possible. Usually, this includes the setup of a public available webservice that needs to be maintained, or that the Tool-user needs to either setup a Galaxy Server by its own or to have Admin access to a local Galaxy server. With docker, tool developers can create their own Image with all dependencies and the user only needs to run it within docker. Ideally suited to make your reviewers happy :)
Currently, I have three test images to play with. The first one, bgruening/galaxy-stable is the main Image that will do all the heavy lifting of setting up PostgreSQL, Apache and Galaxy.
bgruening/deepTools and bgruening/chemicaltoolbox are proof of concepts how easy it is to create an own Image build on top of the main Galaxy Image.
https://index.docker.io/u/bgruening/galaxy-deeptools/ https://index.docker.io/u/bgruening/galaxy-chemicaltoolbox/
How to use it: docker run -d -p 8080:80 bgruening/galaxy-deeptools docker run -d -p 8080:80 -p 8000:8000 bgruening/galaxy-chemicaltoolbox
For a more detailed description please read: https://github.com/bgruening/docker-recipes/tree/master/galaxy
I would be very much interested in any kind of feedback. Especially, in two technical questions:
I'm not sure if a "trusted build" from the docker index is the best way to go. Trusted Builds in docker are super convenient. It is a post-commit hook from github. Every time something is pushed, the image will be rebuild. The problem is that I can't tag my images with "trusted builds" and unless I have missed something, that forces me to create new repositories every time a new Galaxy release is out. A better way would be, one repository with different tags: galaxy-stable, galaxy-feb-2014 and so on. Every Galaxy release will be just a diff between the old and the new. But this is not possible with "trusted builds".
One other trick I used is to remove the mercurial history, that saves 180MB. I'm not sure if this is wise, because it probably kills a few use cases. Currently, the aim of this project is a little bit different from being a developer environment. So I decided to remove it. Please ping me if this was a bad decision :)
Thanks for reading! Bjoern ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Hi, news from the Galaxy Docker project! With the recent addition of tags in trusted builds it's now possible to create a tagged Docker Images for every stable Galaxy release. I will try to maintain that and will release every two month, in sync with the Galaxy release, a new Docker image. Feedback welcome! https://registry.hub.docker.com/u/bgruening/galaxy-stable/tags/manage/ Cheers, Bjoern Am 30.04.2014 00:43, schrieb Björn Grüning:
Dear Galaxy Devs and Users,
I'm pleased to announce the Galaxy Docker Image project!
The Galaxy Docker Image is an easy distributable full-fledged Galaxy installation, that can be used for testing, teaching and presenting new tools and features.
One of the main goals is to make the access to entire tool suites as easy as possible. Usually, this includes the setup of a public available webservice that needs to be maintained, or that the Tool-user needs to either setup a Galaxy Server by its own or to have Admin access to a local Galaxy server. With docker, tool developers can create their own Image with all dependencies and the user only needs to run it within docker. Ideally suited to make your reviewers happy :)
Currently, I have three test images to play with. The first one, bgruening/galaxy-stable is the main Image that will do all the heavy lifting of setting up PostgreSQL, Apache and Galaxy.
bgruening/deepTools and bgruening/chemicaltoolbox are proof of concepts how easy it is to create an own Image build on top of the main Galaxy Image.
https://index.docker.io/u/bgruening/galaxy-deeptools/ https://index.docker.io/u/bgruening/galaxy-chemicaltoolbox/
How to use it: docker run -d -p 8080:80 bgruening/galaxy-deeptools docker run -d -p 8080:80 -p 8000:8000 bgruening/galaxy-chemicaltoolbox
For a more detailed description please read: https://github.com/bgruening/docker-recipes/tree/master/galaxy
I would be very much interested in any kind of feedback. Especially, in two technical questions:
I'm not sure if a "trusted build" from the docker index is the best way to go. Trusted Builds in docker are super convenient. It is a post-commit hook from github. Every time something is pushed, the image will be rebuild. The problem is that I can't tag my images with "trusted builds" and unless I have missed something, that forces me to create new repositories every time a new Galaxy release is out. A better way would be, one repository with different tags: galaxy-stable, galaxy-feb-2014 and so on. Every Galaxy release will be just a diff between the old and the new. But this is not possible with "trusted builds".
One other trick I used is to remove the mercurial history, that saves 180MB. I'm not sure if this is wise, because it probably kills a few use cases. Currently, the aim of this project is a little bit different from being a developer environment. So I decided to remove it. Please ping me if this was a bad decision :)
Thanks for reading! Bjoern
participants (2)
-
Björn Grüning
-
Brad Chapman