Skip to main content
Version: 4.3.0

Installation

note

Currently the Ubuntu repository is not available publicly. If you want to access it, please message us on Slack or write us an email.

tip

Looking for the open source approach? You can also compile from source. Head over to https://github.com/leil-io/saunafs/ and check the README below, or see the section on building from source down below.

Currently we package for Ubuntu only, but you can always compile from source (see below)

Current supported Ubuntu versions are:

  • 22.04
  • 24.04

Ubuntu

First check that you have GPG setup correctly. You can use this command:

gpg2 --list-keys

This will make sure that the .gnupg exists in your home directory, creating it if it doesn't exist.

Import the public key used to sign the packages

gpg --no-default-keyring \
--keyring /usr/share/keyrings/saunafs-archive-keyring.gpg \
--keyserver hkps://keyserver.ubuntu.com \
--receive-keys 0xA80B96E2C79457D4

It will create a new keyring file /usr/share/keyrings/saunafs-archive-keyring.gpg and import the public key used to sign the packages.

note

At the time of writing, the use of apt-key is deprecated.

You can verify the keyring file by running the following command:

gpg --no-default-keyring \
--keyring /usr/share/keyrings/saunafs-archive-keyring.gpg \
--list-keys

Next, add our Debian/Ubuntu repository to the apt sources. Make sure that the command lsb_release is installed.

Ubuntu 24.04:

sudo tee /etc/apt/sources.list.d/saunafs.list <<EOF
deb [arch=amd64 signed-by=/usr/share/keyrings/saunafs-archive-keyring.gpg] https://repo.saunafs.com/repository/saunafs-ubuntu-24.04/ noble main
EOF

Ubuntu 22.04:

sudo tee /etc/apt/sources.list.d/saunafs.list <<EOF
deb [arch=amd64 signed-by=/usr/share/keyrings/saunafs-archive-keyring.gpg] https://repo.saunafs.com/repository/saunafs-ubuntu-22.04/ jammy main
EOF
Hint

Please note that you need have login and password in order to access our binaries.

You can get it by emailing us at contact@leil.io

OR by messaging us on our public slack:

Slack

Create file with credentials for having acces to our binaries:

/etc/apt/auth.conf.d/saunafs.conf

machine https://repo.saunafs.com/repository/saunafs-ubuntu-24.04/ login YOUR_LOGIN password YOUR_PASSWORD

Update the package list

sudo apt update

These packages are available on the Debian/Ubuntu repository:

  • saunafs-master – Master server
  • saunafs-chunkserver – Chunkserver
  • saunafs-client – Client (sfsmount)
  • saunafs-adm – Administration tools saunafs-admin
  • saunafs-cgi – SaunaFS CGI Monitor (deprecated)
  • saunafs-cgiserv – Simple CGI-capable HTTP server to run SaunaFS CGI Monitor (deprecated)
  • saunafs-metalogger – Metalogger server
  • saunafs-common – SaunaFS shared library, required by saunafs-master, saunafs-chunkserver and saunafs-metalogger
  • saunafs-dbg – Debugging symbols for all the SaunaFS binaries
  • saunafs-uraft - High Availability solution based on RAFT algorithm (from version 3.13)

Source installation

Obtain the source

git clone https://github.com/leil-io/saunafs.git

Go into the saunafs directory and create a build directory

cd saunafs
mkdir build

SaunaFS uses CMake as its build system. For a complete list of options check the developer's guide for building, but these are the three most important options for installing:

  • DCMAKE_BUILD_TYPE=RelWithDebInfo - Build for release with debug symbols
  • DCMAKE_INSTALL_PREFIX=/usr/local - Where to install when make install is called (default is /usr/local)
  • DENABLE_DOCS=ON - Build man docs

You might use the below commands to build SaunaFS:

cmake -B ./build \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local
-G 'Unix Makefiles' \
-DENABLE_DOCS=ON \
-DENABLE_CLIENT_LIB=ON \
-DENABLE_TESTS=ON \
-DENABLE_WERROR=ON

nice make -C ./build -j$(nproc)

Finally call make install:

sudo make install
note

When building from source using this method, the version will default to 4.0.0-devel. This default value is intended to avoid backward compatibility issues and to easily tag artifacts that are not officially built by our CI.