Install & Run the Reliably Platform

The Reliably Platform is the heart of your resilience strategy. It helps you create, schedule and orchestrate your reliability experiments and policies.

Install

The Reliably Platform is installed as a regular Python package. It requires Python 3.12 at the minimum (it might work with lower down to 3.10 but this is isn’t supported officially).

Using pip

Install it as follows:

python3 -m pip install --user reliably-app[full]

This will install the reliably-server binary in your $HOME/.local/bin directory.

To ensure that everything is working, you can use reliably-server version in a new window:

reliably-server version

Using uv

Install it as follows:

uv tool install --python-preference only-managed --python "3.12" reliably-app[full]

This will install the reliably-server binary in your $HOME/.local/bin directory.

To ensure that everything is working, you can use reliably-server version in a new window:

reliably-server version

Dependencies

The Reliably Platform has few dependencies beside the Python packages installed by the command above.

Required

The only required dependency is a PostgreSQL 15+ database. If you do not have access to one, you may simply run a container such as:

docker run -d --name reliably-server-db \
    -p 5432:5432 \
    -e POSTGRES_PASSWORD=demo \
    -e POSTGRES_USER=demo \
    -e POSTGRES_DB=demo \
    postgres:17

You may want to adjust the parameters to suit your needs.

Optional

uv

Reliably Plans can be deployed and managed locally. To use this target, make sure uv is available on the machine.

Docker

Reliably Plans can be deployed inside Docker container. To use this target, make sure Docker is available on the machine.

Kubernetes

Reliably Plans can be deployed as Kubernetes jobs. To use this target, make sure Kubernetes and that you have enough RBAC permissions.

Configure

The Reliably Platform requires some information before it can start. The platform looks for settings in a file found in $HOME/.config/rebound/reliably.env.

You can initialize the file by running the following command:

reliably-server config init --interactive
What's the domain serving the Reliably application? (localhost:8090): 
What's the URL to communicate back from plans? (http://localhost:8090): 
Should we manage the database (requires Docker)? [y/n]: n
What's the database username? (demo): 
What's the database user's password? (demo): 
What's the database hostname or address? (localhost): 
What's the database port? (5432): 
What's the database name? (reliably): 
Provide the name of a default Reliably organization to create (Hello): 
Do you want to create ~/.config/rebound/reliably.env? [y/n]: y

This will be enough for you to start the server. However, you may want to explore the file to see other options.

Data

Reliably stores its data into a PostgreSQL database. Upon starting the platform for the first time, the schema will be created and populated with all the required tables.

You may use the reliably db commands to manage the database. For instance, to see which revision of the schema you are currently runnning:

reliably-server db revision

Reliably always keeps the schema up to date when it starts and applies the migration that is required if it has changed.

Run

The Reliably Platform is a single Python application that is run as follows:

reliably-server run

What’s next?