{"id":21881234,"url":"https://github.com/wtsi-hgi/docker-baton","last_synced_at":"2026-05-16T11:01:24.571Z","repository":{"id":146402436,"uuid":"45911250","full_name":"wtsi-hgi/docker-baton","owner":"wtsi-hgi","description":"baton in a Docker container","archived":false,"fork":false,"pushed_at":"2016-11-07T13:07:50.000Z","size":89,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-10-28T23:43:11.626Z","etag":null,"topics":["baton","docker","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wtsi-hgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-10T12:44:44.000Z","updated_at":"2017-10-03T10:24:47.000Z","dependencies_parsed_at":"2023-07-31T12:16:50.746Z","dependency_job_id":null,"html_url":"https://github.com/wtsi-hgi/docker-baton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wtsi-hgi/docker-baton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtsi-hgi%2Fdocker-baton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtsi-hgi%2Fdocker-baton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtsi-hgi%2Fdocker-baton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtsi-hgi%2Fdocker-baton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wtsi-hgi","download_url":"https://codeload.github.com/wtsi-hgi/docker-baton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtsi-hgi%2Fdocker-baton/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baton","docker","testing"],"created_at":"2024-11-28T09:18:14.422Z","updated_at":"2026-05-16T11:01:24.557Z","avatar_url":"https://github.com/wtsi-hgi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/wtsi-hgi/docker-baton.svg)](https://travis-ci.org/wtsi-hgi/docker-baton)\n\n# baton in Docker\n[baton](https://github.com/wtsi-npg/baton) in a [Docker](https://www.docker.com/) container.\n\n\n## Variants\nDocker Hub hosted versions of some of these Docker images are available at:\n[https://hub.docker.com/r/mercury/baton/](https://hub.docker.com/r/mercury/baton/). The custom version builds are not on\nDockerhub as it does not support the use of build arguments. The versions that are not tied to a specific commit (e.g.\nones linked to a branch) are not hosted on Dockerhub as the commit used is determined at build time.\n\n### Hard-coded\n- baton version 0.16.1:\n    - [For iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.1/irods-3.3.1).\n- baton version 0.16.2:\n    - [For iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.2/irods-3.3.1).\n    - [For iRODs version 4.1.8](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.2/irods-4.1.8).\n- baton version 0.16.3:\n    - [For iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.3/irods-3.3.1).\n    - [For iRODs version 4.1.8](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.3/irods-4.1.8).\n- baton version 0.16.4:\n    - [For iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.4/irods-3.3.1).\n    - [For iRODs version 4.1.8](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.4/irods-4.1.8).    \n    - [For iRODs version 4.1.9](https://github.com/wtsi-hgi/docker-baton/tree/master/0.16.4/irods-4.1.9).\n- baton version 0.17.0:\n    - [For iRODs version 4.1.9](https://github.com/wtsi-hgi/docker-baton/tree/master/0.17.0/irods-4.1.9).\n    - [For iRODs version 4.1.10](https://github.com/wtsi-hgi/docker-baton/tree/master/0.17.0/irods-4.1.10).\n- baton development (\"devel\") branch (**not on Dockerhub!**):\n    - [For iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/devel/irods-3.3.1).\n    - [For iRODs version 4.1.8](https://github.com/wtsi-hgi/docker-baton/tree/master/devel/irods-4.1.8).\n    - [For iRODs version 4.1.9](https://github.com/wtsi-hgi/docker-baton/tree/master/devel/irods-4.1.9).\n    - [For iRODs version 4.1.10](https://github.com/wtsi-hgi/docker-baton/tree/master/devel/irods-4.1.10).\n\n### Custom\nTo build a custom version of baton, ``BRANCH`` (either tag or branch name) and ``REPOSITORY`` must be given as \n[build arguments](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg).\n- [custom baton version, using iRODs version 3.3.1](https://github.com/wtsi-hgi/docker-baton/tree/master/custom/irods-3.3.1).\n- [custom baton version, using iRODs version 4.1.8](https://github.com/wtsi-hgi/docker-baton/tree/master/custom/irods-4.1.8).\n- [custom baton version, using iRODs version 4.1.9](https://github.com/wtsi-hgi/docker-baton/tree/master/custom/irods-4.1.9).\n- [custom baton version, using iRODs version 4.1.10](https://github.com/wtsi-hgi/docker-baton/tree/master/custom/irods-4.1.10).\n\n\n## Building the container\n(You will only need to explicitly build the container if you are not using images from the Docker Hub repository.)\n\nBefore building a specific baton image, you must first build the corresponding base image:\n- For baton using iRODS 3.3.1:\n```bash\ndocker build -t mercury/baton:base-for-baton-with-irods-3.3.1 base/irods-3/3.3.1\n```\n- For baton using iRODS 4.x.x:\n```bash\ndocker build -t mercury/baton:4-base base/irods-4/4.1.8\n```\n- For baton using iRODS 4.1.8:\n```bash\ndocker build -t mercury/baton:base-for-baton-with-irods-4.1.8 base/irods-4/4.1.8\n```\n\nThen, to build the baton image: \n```bash\ndocker build -t mercury/baton:x.xx.x-with-irods-x.x.x x.xx.x/irods-x.x.x\n\n# e.g.\ndocker build -t mercury/baton:0.16.2-with-irods-4.1.8 0.16.2/irods-4.1.8\ndocker build --build-arg BRANCH=0.16.1 --build-arg REPOSITORY=https://github.com/wtsi-npg/baton.git -t mercury/baton:custom-0.16.1-with-irods-3.3.1 custom/irods-3.3.1\n```\n\n## Using the container\n### Running\n#### Supplying configuration through environmental variables\n```bash\ndocker run -it -e IRODS_USERNAME=${username} -e IRODS_HOST=${host} -e IRODS_PORT=${port} -e IRODS_ZONE=${zone} -e IRODS_PASSWORD=${password} mercury/baton:${tag} ${baton_command}\n\n# e.g.\ndocker run -it -e IRODS_HOST=\"192.168.99.100\" -e IRODS_PORT=1247 -e IRODS_USERNAME=\"rods\" -e IRODS_ZONE=\"iplant\" -e IRODS_PASSWORD=\"rods\" mercury/baton:0.16.1-with-irods-3.3.1 baton\ndocker run -it --link icat:icat -e IRODS_HOST=\"icat\" -e IRODS_PORT=1247 -e IRODS_USERNAME=\"rods\" -e IRODS_ZONE=\"testZone\" -e IRODS_PASSWORD=\"irods123\" mercury/baton:0.16.2-with-irods-4.1.8 baton\n```\n\n#### Suppling configuration by mounting them\n```bash\ndocker run -it -v ${local_directory}:/root/.irods -e IRODS_PASSWORD=${password} mercury/baton:${tag} ${baton_command}\n\n# e.g.\ndocker run -it -v /home/you/.irods:/root/.irods -e IRODS_PASSWORD=\"mypassword\" mercury/baton:0.16.1-with-irods-3.3.1 baton\n```\n\n#### Notes\n- If an incorrect password is supplied with `IRODS_PASSWORD`, the run will terminate with a non-zero exit status \n([unless `DEBUG` is set](#debugging)).\n- `IRODS_PASSWORD` is optional; a `.irodsA` file may be mounted instead. If neither, the first query to the iRODS server \nwill require authentication.\n- If the configuration is mounted, it will not be overridden with configurations supplied using environmental variables.\n\n\n### Testing software with a baton dependency\n[test-with-baton](https://github.com/wtsi-hgi/test-with-baton) was made specifically to test software with a baton \ndependency. It handles all the setup of baton and iRODS, producing a set of binaries that will act in exactly the same \nway as if baton was installed on the test machine.\n\n\n### Using with a containerised instance of iRODS\nIf you wish to try baton with a test instance of iRODS, [these iRODs server Docker images](https://hub.docker.com/r/mercury/icat/) can be used.\n\n\n## Debugging\nThe best way to find out what is going on in the container is to go into a shell. To get into a shell, even if your \niRODS connection setup has a problem, set `DEBUG` to `1`:\n```bash\ndocker run -it -e DEBUG=1 mercury/baton:${tag} bash\n```\nTo bypass the setup script all together:\n```bash\ndocker run -it --entrypoint=bash mercury/baton:${tag}\n```\n\nIt is possible to use [iRODs icommands](https://docs.irods.org/master/icommands/user/) to debug the configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtsi-hgi%2Fdocker-baton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtsi-hgi%2Fdocker-baton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtsi-hgi%2Fdocker-baton/lists"}