Introduction
What is bulker?
Section titled “What is bulker?”Bulker manages multi-container computing environments that are both modular and interactive. A bulker environment consists of an individual container image for each command. Bulker creates shimlinks — symlinks to the bulker binary that dispatch to the right container based on the command name. Commands appear on your PATH as if natively installed.
Bulker is a single static binary with zero dependencies. No Python, no pip, no virtualenvs — one curl command and you’re done.
What makes bulker useful?
Section titled “What makes bulker useful?”-
It simplifies using containers. If you activate
samtoolswith bulker, you invoke it by typingsamtools; bulker handlesdocker run --volume ...behind the scenes. It spans container engines (Docker and Apptainer), providing a single interface. You’ll be using containers without knowing it. -
It distributes multiple tools at once. Distribute a set of images — all the tools for a workflow — with one command:
bulker activate namespace/toolset. Bulker loads multiple independent tools with a single command. -
It makes workflows automatically containerized. Since bulker commands act like native commands, activating a crate immediately containerizes any workflow. Workflow authors need only provide a manifest listing the required commands.
-
It makes environments portable and interactive. Bulker environments decouple tool settings from environment settings. Move environments between servers, cloud, and your laptop. Activate and deactivate interactively.
Is bulker a package manager?
Section titled “Is bulker a package manager?”Bulker is not a package manager, but it can replace some package manager tasks. Instead of installing software natively with pip or conda, you can activate it through bulker. The differences:
- Bulker uses containers. Package managers install tools natively. Bulker runs containerized software.
- Bulker is collection-first. Most package managers operate on individual tools (
pip install tool). Bulker operates on collections:bulker activate toolset.
Is bulker a workflow manager?
Section titled “Is bulker a workflow manager?”Bulker is not a workflow manager. But bulker can take over the container-management aspect of an existing workflow. The key difference:
- Bulker environments are independent. They are not tied to workflows. Bulker only cares about the computing environment.
Write your workflow without containers, activate a bulker crate, and you get portability, interactivity, and efficiency.