Skip to content

Installing the Server

This page assumes that you have already followed the steps in the setup page.

INFO

Currently we only support installing the SystemsLab server on x86_64.

Installing the SystemsLab Server

This will automatically create and use a postgresql database on the current machine.

Setting up the Database

Starting the Server

At this point you can now start the server. The relevant service is managed via systemd. Depending on your distro, this may already have been done automatically.

bash
sudo systemctl enable systemslab-server
sudo systemctl start systemslab-server

You can verify that the service is up by running

bash
systemctl status systemslab-server

or by verifying that the request below completes successfully

bash
curl http://localhost/api/v1/version

Configuration

The server config file is stored at /etc/systemslab/server.toml. At a minimum you will want to configure

toml
log.cluster_id = "<your company name>/<cluster name>"

This doesn't change any server behaviour but it allows us (IOP) to determine where errors are being emitted so we can reach out.

To see all available options see the server config reference.

INFO

The config file is TOML but some of the keys for config options are set on the root object. These must come before you start adding any nested sections to the config.

As an example, the config below will properly set the server to listen on port 3000:

toml
port = 3000

[storage]
bucket = "/var/lib/blah"

but this config will cause an error because storage.port is not a valid config key:

toml
[storage]
bucket = "/var/lib/blah"

port = 3000

Configuring Artifact Storage

Experiments run on SystemsLab produce artifact files. This can end up being rather large so storing them on the local filesystem is not recommended for a production setup.

If you want to store artifacts on a service that is not listed here, please let us know and we will add support to SystemsLab.