As outlined in the quickstart docs, you can get started with the Sputter server using either the native binaries for your platform of choice, or a pre-built Docker image from Quay.io.

Installation

Native Binaries

To run the server, download the correct release from GitHub Releases, making sure to download the matching sputter-server-* file for your target platform/architecture of choice. Unzip the archive somewhere convenient, and run Sputter.Server/Sputter.Server.exe to start the server. Open your browser and hit `http://localhost:5000/measurements to get all the measurements for any local drives.

The default server comes configured with the DBus and HWMon adapters so the server will poll the local DBus system bus and the local /sys/sysfs filesystem for drives with temperature sensors. You can enable the Scrutiny adapter using the configuration file, as outlined in the Configuration guide.

Docker

There is a pre-built Docker image available on Quay.io. For example:

  docker run -it --rm -p 8080:8080 quay.io/sputter/server:0.0.1
  

Just like the native binaries the container will automatically look for drives using the default DBus and HWMon adapters. Since DBus won’t be available, Sputter will use the sysfs//sys filesystem to read the drives from your host system. You can now access http://localhost:8080/measurements to discover and measure drives from your host system.

If you want to enable DBus in the container, we can add the /var/run/dbus socket as a bind mount in the command above:

  docker run -it --rm -p 8080:8080 -v /var/run/dbus:/var/run/dbus quay.io/sputter/server:0.0.1
  

If you now hit http://localhost:8080/measurements, Sputter will use both HWMon and the bind-mounted DBus system bus to discover and measure any drives from your host system.

Listening Port

If you’re running in Docker, the easiest way is to just use the port mapping in Docker, so you can update the -p 8080:8080 from the quickstart to (for example) -p 9000:8080 to use port 9000 on your host.

If you’re running it natively, you need to set an environment variable when running the server. You can set the ASPNETCORE_URLS variable to set the listening URL:

Plugins

If you are using any Sputter plugins, unpack them into folders in a plugins folder in the same directory as the server. For example, for the LibreHardwareMonitor plugin:

  │   appsettings.json
│   Sputter.Server.exe
└───plugins
	└───Sputter.LibreHardwareMonitor
		│   // trimmed for brevity
		│   Sputter.Composition.dll
		│   Sputter.Core.dll
		│   Sputter.LibreHardwareMonitor.deps.json
		│   Sputter.LibreHardwareMonitor.dll
		└───runtimes
			└─── // trimmed