Installation
Recommended: You can get fully onboarded into Fermah using the script if you opt yes in the onboarding prompt.
Make sure you have provided your Mainnet Ethereum Public Address to Fermah for whitelisting before starting the installation. Reach out through our support channels if you haven’t done so yet.
The installer supports AWS KMS remote signer. Make sure you have configured your instance to access it and have your key name ready before running the install script.
During installation, you need to provide your assigned prover node name, so it fetches the right configuration file.
Prepare the server
Install Privileged Docker
Install Docker with apt (see official documentation )
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginInstall rootless docker
Install rootless Docker with apt (see official documentation ).
sudo apt -y install uidmap
curl -fsSL https://get.docker.com/rootless | sh -s -- --force
export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix:///run/user/<ID>/docker.sockInstall CUDA drivers
We provide binaries for CUDA 12.2 and CUDA 12.9. Both the CUDA drivers and toolkit are required.
Ubuntu 22.04 (CUDA 12.2)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
rm cuda-keyring_1.1-1_all.deb
sudo apt-get install -y cuda-drivers cuda-toolkit-12-2Ubuntu 24.04 (CUDA 12.9)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
rm cuda-keyring_1.1-1_all.deb
sudo apt-get install -y cuda-drivers cuda-toolkit-12-9Other Linux distributions are also supported as long as they provide the required GLIBC version: GLIBC 2.34 for CUDA 12.2 binaries and GLIBC 2.39 for CUDA 12.9 binaries.
Install CUDA containers toolkit for rootless docker
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1
sudo apt-get install -y \
nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
systemctl --user restart docker
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-placeCheck if the installation works by running a sample CUDA container
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smiInstall the Fermah Prover Node
We provide an Install Script for obtaining fpn (Fermah Prover Node) pre-built binaries.
The script is able to:
- Install or update latest release
- Download the default prover (ZkSync)
- Install configuration files
- Setup telemetry collector (requires Docker)
- Onboard into Fermah Network
bash <(curl -s https://storage.googleapis.com/fermah-mainnet-releases/install.sh)Script will run in interactive mode by default. You may pass in --help to see what arguments are available.
Then you need to run fpn as a daemon. We recommend using systemd (see Starting a Node for more details).
We recommend verifying the script first through GPG verification, check GPG.
Supported OS/Arch
| OS | CUDA | GLIBC | Arch |
|---|---|---|---|
| Ubuntu 22.04 LTS | 12.2 | 2.34+ | amd64 |
| Ubuntu 24.04 LTS | 12.9 | 2.39+ | amd64 |
Other Linux distributions are supported as long as they provide the required GLIBC version for their respective CUDA target.
Please contact us if you need other prebuilt binaries.
Release will be installed to ~/.fermah/bin/prover-node-<version> and soft linked to prover-node. If you wish to run the binary using this name, you may add the folder to the PATH environment variable using the hint provided by the install script.