How-To Guide
Run Hermes in Singularity — HPC Container Execution
Configure Hermes Agent to execute commands in Singularity containers — ideal for HPC clusters and shared compute environments.
Quick answer
The Singularity (now Apptainer) terminal backend runs Hermes commands in containers without requiring root, which is exactly what HPC clusters and shared research compute demand. Configure it on a cluster where Docker isn't permitted, and the agent executes inside rootless, reproducible containers.
Singularity (now Apptainer) is the container runtime of choice for HPC clusters and shared compute environments. It runs containers without requiring root access, making it perfect for university clusters, research computing, and multi-user systems.
Managed cloud · API costs included · Skill library · Cancel anytime
Before you start:
- ☑Hermes Agent installed
- ☑Singularity/Apptainer installed on the system
- ☑Access to an HPC cluster or shared compute environment
Steps
- 1
Install Singularity/Apptainer
Follow your cluster's documentation or install from sylabs.io/singularity
- 2
Configure the backend
In config.yaml, set terminal: backend: singularity
- 3
Set the container image
Set terminal: singularity_image: docker://nikolaik/python-nodejs:python3.11-nodejs20
- 4
Set the working directory
Set terminal: cwd: /workspace (path inside the container)
- 5
Configure resource limits
Set container_cpu, container_memory as needed for your HPC allocation
Pro Tips
- 💡Singularity pulls Docker images automatically — use docker:// prefix for Docker Hub images
- 💡Containers run as your user, not root — no privilege escalation concerns
- 💡Home directory is usually auto-mounted — your files are accessible inside the container
- 💡Works great with SLURM and other HPC job schedulers
Troubleshooting
❌ Image pull fails
✅ Check your network access to Docker Hub. Some HPC clusters require proxy settings or pre-pulled images.
❌ Permission denied errors inside container
✅ Singularity runs as your user. Ensure the container image has appropriate permissions for your UID/GID.
❌ Home directory not visible in container
✅ Some HPC setups disable auto-binding. Add --bind flags or configure singularity.conf appropriately.
FAQ
Why use Singularity/Apptainer instead of Docker?
HPC clusters and shared compute usually forbid root and Docker. Singularity/Apptainer runs containers rootless, so the agent can execute in containers on university and research clusters.
Where does the Singularity backend make sense?
HPC environments, university clusters, and any shared compute where you lack root but need reproducible, isolated execution.
Is Apptainer the same as Singularity?
Apptainer is the current name for what was Singularity. The backend targets that runtime; configuration is the same idea — rootless containers for command execution.