smolvm
smolvm is a lightweight container runtime that runs each task inside its own microVM.
Prerequisites
The smolvm CLI must be installed and available on the PATH in the launch environment.
How it works
Enable smolvm in the Nextflow configuration file:
smolvm.enabled = true
process.container = 'nextflow/examples:latest'
Whenever your pipeline launches a task, Nextflow runs it inside a microVM created from the specified image using the smolvm machine run command. Images are standard OCI images that you can pull from any registry.
On Apple silicon, running a linux/amd64 image requires Rosetta 2 translation. Enable it by passing --rosetta via smolvm.runOptions:
smolvm.runOptions = '--rosetta'
Without --rosetta, the microVM fails to start the container and reports the container ... is not running. Native arm64 images do not need this option.
Advanced settings
See the smolvm configuration scope for advanced smolvm settings.