Claude-skill-registry galaxy-docker
Maintain and upgrade the bgruening/docker-galaxy project: bump Galaxy/Ubuntu versions, update Ansible roles and scheduler support, adjust startup/CI/tests, and manage CVMFS.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/galaxy-docker" ~/.claude/skills/majiayu000-claude-skill-registry-galaxy-docker && rm -rf "$T"
manifest:
skills/data/galaxy-docker/SKILL.mdsource content
Galaxy Docker skill
Use this skill when working in the
bgruening/docker-galaxy repo to upgrade Galaxy releases or refresh runtime, scheduler, CVMFS, and CI behavior.
Quick start workflow
- Define targets: Galaxy release, Ubuntu base, scheduler expectations (Slurm/HTCondor), and CI scope.
- Update build:
(release ARGs, build stages, slurm-drmaa, uv usage, npm cleanup).galaxy/Dockerfile - Update Ansible:
and playbooks (galaxy/ansible/requirements.yml
,rabbitmq.yml
,condor.yml
,slurm.yml
,nginx.yml
).proftpd.yml - Update runtime:
,galaxy/startup.sh
, andgalaxy/startup2.sh
.galaxy/ansible/templates/export_user_files.py.j2 - CVMFS changes:
sidecar +cvmfs/
+ resolver config.galaxy/docker-compose.yaml - Tests/CI:
scripts andtest/
(buildx caches, test orchestration)..github/workflows/ - Run tests: Use both
and non-privileged runs where relevant.--privileged
Repo map (files to touch)
- Build:
galaxy/Dockerfile - Startup:
,galaxy/startup.shgalaxy/startup2.sh - Galaxy config export:
galaxy/ansible/templates/export_user_files.py.j2 - Ansible roles:
galaxy/ansible/requirements.yml - Services:
,galaxy/ansible/rabbitmq.yml
,galaxy/ansible/condor.yml
,galaxy/ansible/slurm.yml
,galaxy/ansible/nginx.ymlgalaxy/ansible/proftpd.yml - Slurm config template:
galaxy/ansible/templates/configure_slurm.py.j2 - Container resolvers:
galaxy/ansible/templates/container_resolvers_conf.yml.j2 - CVMFS sidecar:
andcvmfs/galaxy/docker-compose.yaml - Tests:
,test/bioblend/
,test/slurm/
,test/gridengine/
,test/cvmfs/test/container_resolvers_conf.ci.yml - CI:
and.github/workflows/*.yml.github/workflows/single.sh
Guardrails and expectations
- Keep Python installs on
(build and runtime). Avoiduv
directly.pip install - Prefer buildx cache mounts in Dockerfiles and
in GitHub Actions.cache-to/cache-from - Use
for test containers and clean up by name to avoid conflicts.--rm - If
fills up on CI, use/tmp
for heavy Docker tests.TMPDIR=/var/tmp - Use
for richer diagnostics; keepstartup2
minimal.startup.sh
CVMFS
- Privileged runs use full CVMFS client + autofs.
- Sidecar is optional via compose profile (
image).cvmfs/ - Container resolver config should include cached mulled paths on both CVMFS and
./export - See
for the exact sidecar design and tests.references/upgrade-25.1.md
Slurm
- Ensure Slurm works in containers without systemd/cgroup v2 requirements.
writesconfigure_slurm.py.j2
withcgroup.conf
.CgroupPlugin=disabled- Slurm-DRMAA is built from source when ABI mismatches exist (documented in references).
Tests (typical order)
(settest/slurm/test.sh
if needed)GALAXY_IMAGE=galaxy:test
(uses ephemeris container for wait)test/gridengine/test.shtest/bioblend/test.sh
(sidecar + mount propagation)test/cvmfs/test.sh
sanity:startup2docker run --rm --privileged ... /usr/bin/startup2
References
for 25.1 upgrade decisions, pins, and pitfalls.references/upgrade-25.1.md