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 (registry.vpn.cyberus-technology.de:443
).
Other required services such as the database, DHCP server and TFTP/HTTP server
can be spun up using standard docker images.
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.