Deployment without NixOS

The easiest way to deploy SoTest is using NixOS.

On non-NixOS hosts, it is possible to deploy SoTest manually, for example using docker-compose.

If you want to try out SoTest, a quick and easy way is to use arion with a pre-configured SoTest configuration. However, this method is not suited for production deployments. You may also use a full NixOS VM instead.

Manual deployment

It is possible to deploy SoTest manually using docker containers and docker-compose. SoTest provides docker images for both the Web UI and the SoTest Controller which are automatically generated on each new release of SoTest and pushed to the internal Cyberus registry ( Other required services such as the database, DHCP server and TFTP/HTTP server can be spun up using standard docker images.

Docker Logo

The SoTest environment repository provides a reference for setting up SoTest manually.

Using the manual approach involves manually editing the controller.yaml and web_app.yaml files as well as creating and maintaining configuration files for the other required services, such as DHCP and TFTP servers, the failure probability prediction setup and even the database. This makes the manual approach inconvenient compared to other approaches.

In theory, it is also possible to install and run all required tools without the use of containers. However, this approach is even more inconvenient and not recommended.

Containerized deployment with arion

Since the SoTest apps are developed as nix packages, they lend themselves to configuration using a NixOS-style config.

Arion can use that config to build the required code and then create a docker-compose.yaml that will launch the services and make them accessible to the host PC.

The SoTest repo contains an example configuration and a guide on how to set up and run this configuration.