Install
Prerequisites
Section titled “Prerequisites”Bulker requires a container engine to run commands. Install one before proceeding:
- Docker: docs.docker.com/get-docker — works on Linux, macOS, and Windows (WSL2).
- Apptainer: apptainer.org/docs — preferred on HPC clusters; formerly known as Singularity.
Bulker auto-detects whichever engine is available at runtime. If both are installed, you can specify one explicitly (see the Optional: customize config section below).
curl -sL https://bulker.io/install.sh | bashDownloads the binary to ~/.local/bin/bulker and adds the shell function to your ~/.bashrc or ~/.zshrc. Restart your shell or source ~/.bashrc after installing.
curl -sL https://github.com/databio/bulkers/releases/latest/download/bulker-Linux-musl-x86_64.tar.gz | tar xz && mv bulker ~/.local/bin/Then add the shell function to your RC file:
Add to ~/.bashrc:
eval "$(bulker init-shell bash)"Add to ~/.zshrc:
eval "$(bulker init-shell zsh)"curl -sL https://github.com/databio/bulkers/releases/latest/download/bulker-Linux-musl-arm64.tar.gz | tar xz && mv bulker ~/.local/bin/Then add the shell function to your RC file:
Add to ~/.bashrc:
eval "$(bulker init-shell bash)"Add to ~/.zshrc:
eval "$(bulker init-shell zsh)"curl -sL https://github.com/databio/bulkers/releases/latest/download/bulker-macOS-arm64.tar.gz | tar xz && mv bulker ~/.local/bin/Then add the shell function to your RC file:
eval "$(bulker init-shell zsh)"Add this line to ~/.zshrc.
curl -sL https://github.com/databio/bulkers/releases/latest/download/bulker-macOS-x86_64.tar.gz | tar xz && mv bulker ~/.local/bin/Then add the shell function to your RC file:
eval "$(bulker init-shell zsh)"Add this line to ~/.zshrc.
git clone https://github.com/databio/bulkerscd bulkerscargo build --release./install.shThe install script adds the shell function automatically.
Verify installation
Section titled “Verify installation”bulker --versionbulker crate listMigrating from Python bulker
Section titled “Migrating from Python bulker”# Remove the Python versionpip uninstall bulker
# Install bulker (your existing crates and config are compatible)curl -sL https://bulker.io/install.sh | bashYour existing crate manifests work with both versions — no changes needed.
Optional: customize config
Section titled “Optional: customize config”Bulker works out of the box with no configuration. On first use, it auto-detects your container engine and creates ~/.config/bulker/bulker_config.yaml with sensible defaults.
To explicitly (re)generate the config or choose a specific engine:
bulker config initbulker config init -e dockerbulker config init -e apptainerUse --force to overwrite an existing config. See the Configuration reference for all settings.
Uninstall
Section titled “Uninstall”# Remove the binaryrm ~/.local/bin/bulker
# Remove config and cached manifestsrm -rf ~/.config/bulker
# Remove the shell function line from your RC file# Delete the `eval "$(bulker init-shell ...)"` line from ~/.bashrc or ~/.zshrcNext Steps
Section titled “Next Steps”Now that you have bulker installed, follow the Tutorial to see bulker in action with practical examples.