---
layout: default
navsection: installguide
title: Set up a compute node with Singularity
...
{% comment %}
Copyright (C) The Arvados Authors. All rights reserved.
SPDX-License-Identifier: CC-BY-SA-3.0
{% endcomment %}
{% include 'notebox_begin_warning' %}
This page describes the requirements for a compute node in a Slurm or LSF cluster that will run containers dispatched by @crunch-dispatch-slurm@ or @arvados-dispatch-lsf@. If you are installing a cloud cluster, refer to "Build a cloud compute node image":{{ site.baseurl }}/install/crunch2-cloud/install-compute-node.html.
{% include 'notebox_end' %}
{% include 'notebox_begin_warning' %}
These instructions apply when Containers.RuntimeEngine is set to @singularity@, refer to "Set up a compute node with Docker":install-compute-node-docker.html when running @docker@.
{% include 'notebox_end' %}
# "Introduction":#introduction
# "Install python-arvados-fuse and crunch-run and squashfs-tools":#install-packages
# "Set up Singularity":#singularity
# "Singularity mksquashfs configuration":#singularity_mksquashfs_configuration
h2(#introduction). Introduction
Please refer to the "Singularity":{{site.baseurl}}/architecture/singularity.html documentation in the Architecture section.
This page describes how to configure a compute node so that it can be used to run containers dispatched by Arvados on a static cluster. These steps must be performed on every compute node.
{% assign arvados_component = 'python-arvados-fuse crunch-run squashfs-tools' %}
{% include 'install_packages' %}
{% include 'install_cuda' %}
h2(#singularity). Set up Singularity
Follow the "Singularity installation instructions":https://sylabs.io/guides/latest/user-guide/quick_start.html. Note that while the latest stable version is normally expected to be compatible, Arvados is currently tested with singularity 3.10.4.
Make sure @singularity@ and @mksquashfs@ are working:
$ singularity version
singularity-ce version 3.10.4-dirty
$ mksquashfs -version
mksquashfs version 4.4 (2019/08/29)
[...]
Then update @Containers.RuntimeEngine@ in your cluster configuration:
# Container runtime: "docker" (default) or "singularity"
RuntimeEngine: singularity
{% include 'singularity_mksquashfs_configuration' %}