Unnamed Skill
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.
$ 설치
git clone https://github.com/bgruening/docker-galaxy /tmp/docker-galaxy && cp -r /tmp/docker-galaxy/skills/galaxy-docker ~/.claude/skills/docker-galaxy// tip: Run this command in your terminal to install the skill
SKILL.md
name: galaxy-docker description: 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.
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:
galaxy/Dockerfile(release ARGs, build stages, slurm-drmaa, uv usage, npm cleanup). - Update Ansible:
galaxy/ansible/requirements.ymland playbooks (rabbitmq.yml,condor.yml,slurm.yml,nginx.yml,proftpd.yml). - Update runtime:
galaxy/startup.sh,galaxy/startup2.sh, andgalaxy/ansible/templates/export_user_files.py.j2. - CVMFS changes:
cvmfs/sidecar +galaxy/docker-compose.yaml+ resolver config. - Tests/CI:
test/scripts and.github/workflows/(buildx caches, test orchestration). - Run tests: Use both
--privilegedand non-privileged runs where relevant.
Repo map (files to touch)
- Build:
galaxy/Dockerfile - Startup:
galaxy/startup.sh,galaxy/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.yml,galaxy/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:
cvmfs/andgalaxy/docker-compose.yaml - Tests:
test/bioblend/,test/slurm/,test/gridengine/,test/cvmfs/,test/container_resolvers_conf.ci.yml - CI:
.github/workflows/*.ymland.github/workflows/single.sh
Guardrails and expectations
- Keep Python installs on
uv(build and runtime). Avoidpip installdirectly. - Prefer buildx cache mounts in Dockerfiles and
cache-to/cache-fromin GitHub Actions. - Use
--rmfor test containers and clean up by name to avoid conflicts. - If
/tmpfills up on CI, useTMPDIR=/var/tmpfor heavy Docker tests. - Use
startup2for richer diagnostics; keepstartup.shminimal.
CVMFS
- Privileged runs use full CVMFS client + autofs.
- Sidecar is optional via compose profile (
cvmfs/image). - Container resolver config should include cached mulled paths on both CVMFS and
/export. - See
references/upgrade-25.1.mdfor the exact sidecar design and tests.
Slurm
- Ensure Slurm works in containers without systemd/cgroup v2 requirements.
configure_slurm.py.j2writescgroup.confwithCgroupPlugin=disabled.- Slurm-DRMAA is built from source when ABI mismatches exist (documented in references).
Tests (typical order)
test/slurm/test.sh(setGALAXY_IMAGE=galaxy:testif needed)test/gridengine/test.sh(uses ephemeris container for wait)test/bioblend/test.shtest/cvmfs/test.sh(sidecar + mount propagation)startup2sanity:docker run --rm --privileged ... /usr/bin/startup2
References
references/upgrade-25.1.mdfor 25.1 upgrade decisions, pins, and pitfalls.
Repository

bgruening
Author
bgruening/docker-galaxy/skills/galaxy-docker
234
Stars
138
Forks
Updated4d ago
Added5d ago